Merge branch 'docs-restructure' of https://github.com/pycom/pycom-documentation into docs-restructure
11
.project
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>pycom-documentation</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
24
config.toml
@@ -49,14 +49,14 @@ theme = "doc-theme"
|
||||
[[menu.main]]
|
||||
name= "VS Code"
|
||||
url="/gettingstarted/software/vscode/"
|
||||
identifier= "gettingstarted@software@vscode"
|
||||
identifier= "gettingstarted@software@vscode"
|
||||
parent= "gettingstarted@software"
|
||||
weight=20
|
||||
|
||||
[[menu.main]]
|
||||
name= "Atom"
|
||||
url="/gettingstarted/software/atom/"
|
||||
identifier= "gettingstarted@software@atom"
|
||||
identifier= "gettingstarted@software@atom"
|
||||
parent= "gettingstarted@software"
|
||||
weight=30
|
||||
|
||||
@@ -68,7 +68,7 @@ theme = "doc-theme"
|
||||
weight = 40
|
||||
|
||||
[[menu.main]]
|
||||
name = "USB Serial"
|
||||
name = "USB Serial"
|
||||
url = "/gettingstarted/programming/usbserial/"
|
||||
identifier = "gettingstarted@programming@usbserial"
|
||||
parent = "gettingstarted@programming"
|
||||
@@ -991,7 +991,7 @@ theme = "doc-theme"
|
||||
identifier = "datasheets@oem@deepsleep"
|
||||
parent = "datasheets@oem"
|
||||
weight = 70
|
||||
|
||||
|
||||
[[menu.main]]
|
||||
name = "Expansion Boards and Shields"
|
||||
url = "/datasheets/expansionboards/"
|
||||
@@ -1012,6 +1012,20 @@ theme = "doc-theme"
|
||||
url = "/datasheets/expansionboards/pysense/"
|
||||
identifier = "datasheets@boards@pysense"
|
||||
parent = "datasheets@boards"
|
||||
weight = 20
|
||||
|
||||
[[menu.main]]
|
||||
name = "Pytrack 2.0X"
|
||||
url = "/datasheets/boards/pytrack2/"
|
||||
identifier = "datasheets@boards@pytrack2"
|
||||
parent = "datasheets@boards"
|
||||
weight = 10
|
||||
|
||||
[[menu.main]]
|
||||
name = "Pysense 2.0X"
|
||||
url = "/datasheets/boards/pysense2/"
|
||||
identifier = "datasheets@boards@pysense2"
|
||||
parent = "datasheets@boards"
|
||||
weight = 10
|
||||
[[menu.main]]
|
||||
name = "Pysense 2.0 X"
|
||||
@@ -1070,7 +1084,7 @@ theme = "doc-theme"
|
||||
name = "Device"
|
||||
url = "/updatefirmware/device/"
|
||||
identifier = "updatefirmware@device"
|
||||
parent= "updatefirmware"
|
||||
parent= "updatefirmware"
|
||||
weight = 10
|
||||
[[menu.main]]
|
||||
name = "Device (OTA)"
|
||||
|
||||
@@ -42,7 +42,7 @@ As of version `1.12.0.b0` of the firmware update tool, you can now provide a `.t
|
||||
|
||||
When you start the update tool you will see the following screen:
|
||||
|
||||

|
||||

|
||||
|
||||
When you tick the `Flash from local file` option, an address bar will appear. Click the `...` button and locate the `.tar(.gz)` file with the firmware you wish to flash to your device. From this point the updater will behave just like a regular update but using the local file instead of downloading the latest.
|
||||
|
||||
|
||||
26
content/datasheets/boards/deepsleep/README.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: "Deep Sleep Shield"
|
||||
aliases:
|
||||
- product-info/boards/deepsleep
|
||||
- chapter/datasheets/boards/deepsleep
|
||||
---
|
||||
|
||||
The schematic of the Deep Sleep Shield is available as a PDF File.
|
||||
|
||||
<a href="/gitbook/assets/deepsleep-schematic.pdf" target="_blank"> Deep Sleep Schematic </a>
|
||||
|
||||
## Pinout
|
||||
|
||||
The pinout of the Deep Sleep Shield is available as a PDF File
|
||||
|
||||
<a href="/gitbook/assets/deepsleep-pinout.pdf" target="_blank"> Deep Sleep Pinout </a>
|
||||
|
||||
|
||||

|
||||
|
||||
{{% hint style="info" %}}
|
||||
To correctly connect a WiPy 2.0, LoPy or SiPy to the Deep Sleep Shield, align the white triangle on the Shield with the Pycom device's LED. Once the Pycom device is seated with the Deep Sleep Shield, this can then be connected to the Expansion Board
|
||||
{{% /hint %}}
|
||||
|
||||

|
||||
|
||||
@@ -7,6 +7,8 @@ aliases:
|
||||
- chapter/datasheets/development/fipy
|
||||
---
|
||||
|
||||

|
||||
|
||||
|
||||
{{% hint style="info" %}}
|
||||
Please Note: We have removed the labels from the pictures in the documentation due to inconsistencies with label orientation. *The LED must be aligned above the USB socket* when inserting or removing a development board from an expansion board/Pytrack/Pysense/Pyscan.
|
||||
@@ -24,7 +26,7 @@ The datasheet of the FiPy is available as a [PDF File](/gitbook/assets/specsheet
|
||||
|
||||
The drawing of the LTE-M antenna is available as a [PDF File](/gitbook/assets/lte-m-antenna-drawing.pdf).
|
||||
|
||||
The Fipy is certified for [CE RED](/gitbook/assets/fipy_c03-b0-red-final.pdf) and [FCC DSS](/gitbook/assets/pycom-2ajmtfipy01r-fcc-grant-dss.pdf) [FCC DTS](/gitbook/assets/pycom-2ajmtfipy01r-fcc-grant-dts.pdf) [FCC DXX](/gitbook/assets/pycom-2ajmtfipy01r-fcc-grant-dxx.pdf) [FCC TNB](/gitbook/assets/pycom-2ajmtfipy01r-fcc-grant-tnb.pdf)
|
||||
The Fipy is certified for [CE RED](/gitbook/assets/fipy_c03-b0-red-final.pdf) and [FCC DSS](/gitbook/assets/pycom-2ajmtfipy01r-fcc-grant-dss.pdf) [FCC DTS](/gitbook/assets/pycom-2ajmtfipy01r-fcc-grant-dts.pdf) [FCC DXX](/gitbook/assets/pycom-2ajmtfipy01r-fcc-grant-dxx.pdf) [FCC TNB](/gitbook/assets/pycom-2ajmtfipy01r-fcc-grant-tnb.pdf)
|
||||
[RCM](/gitbook/assets/RCM-Fipy.pdf)
|
||||
[ROHS certification](gitbook/assets/RoHs_declarations/RoHS-for-FiPy(8217-00091P)-20190523.pdf)
|
||||
## Pinout
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/development/gpy
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
{{% hint style="info" %}}
|
||||
Please Note: We have removed the labels from the pictures in the documentation due to inconsistencies with label orientation. *The LED must be aligned above the USB socket* when inserting or removing a development board from an expansion board/Pytrack/Pysense/Pyscan.
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/development/lopy
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
{{% hint style="info" %}}
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/development/lopy4
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
{{% hint style="info" %}}
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/development/sipy
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
{{% hint style="info" %}}
|
||||
Please Note: We have removed the labels from the pictures in the documentation due to inconsistencies with label orientation. *The LED must be aligned above the USB socket* when inserting or removing a development board from an expansion board/Pytrack/Pysense/Pyscan.
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/development/wipy2
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
{{% hint style="info" %}}
|
||||
Please Note: We have removed the labels from the pictures in the documentation due to inconsistencies with label orientation. *The LED must be aligned above the USB socket* when inserting or removing a development board from an expansion board/Pytrack/Pysense/Pyscan.
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/development/wipy3
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
{{% hint style="info" %}}
|
||||
Please Note: We have removed the labels from the pictures in the documentation due to inconsistencies with label orientation. *The LED must be aligned above the USB socket* when inserting or removing a development board from an expansion board/Pytrack/Pysense/Pyscan.
|
||||
|
||||
@@ -1,28 +1,27 @@
|
||||
---
|
||||
title: "Pysense"
|
||||
title: "Pysense 2.0X"
|
||||
aliases:
|
||||
- datasheets/boards/pysense2.html
|
||||
- datasheets/boards/pysense2.md
|
||||
- product-info/boards/pysense2
|
||||
- chapter/datasheets/boards/pysense2
|
||||
---
|
||||
**Store**: [Buy Here](https://pycom.io/product/pysense-2-0-x/)
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## Datasheet
|
||||
|
||||
The datasheet of the Pysense is available as a [PDF File](/gitbook/assets/pysense-specsheet.pdf)
|
||||
|
||||
The datasheet of the Pysense 2.0X is available as a PDF File.
|
||||
|
||||
<a href="/gitbook/assets/PySense2X_specsheet.pdf" target="_blank"> Pysense 2.0 X Datasheet </a>
|
||||
|
||||
## Pinout
|
||||
|
||||
The pinout of the Pysense is available as a [PDF File](/gitbook/assets/pysense-pinout.pdf)
|
||||
The pinout of the Pysense is available as a PDF File
|
||||
|
||||
<a href="/gitbook/assets/pysense2-pinout.pdf" target="_blank"> Pysense Pinout </a>
|
||||
|
||||

|
||||

|
||||
|
||||
## Battery Charger
|
||||
|
||||
@@ -30,9 +29,9 @@ The board features a single cell Li-Ion/Li-Po charger. When the board is being p
|
||||
|
||||
## Mechanical Dimensions
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
## 3D model for case design
|
||||
|
||||
* Please see the <a href="/gitbook/assets/PySense_v1.1.step" target="_blank"> 3D model </a> (step format)
|
||||
* Please see the <a href="/gitbook/assets/pysense_v2.0X.step" target="_blank"> 3D model </a> (step format)
|
||||
|
||||
@@ -32,4 +32,4 @@ The board features a single cell Li-Ion/Li-Po charger. When the board is being p
|
||||
|
||||
## 3D model for case design
|
||||
|
||||
* Please see the <a href="/gitbook/assets/pytrack_v2.0X.step" target="_blank"> 3D model </a> (step format)
|
||||
* Please see the <a href="/gitbook/assets/pytrack_v2.0X.step" target="_blank"> 3D model </a> (step format)
|
||||
|
||||
@@ -14,7 +14,7 @@ The pinout of the Deep Sleep Shield is available as a PDF File
|
||||
<a href="/gitbook/assets/deepsleep-pinout.pdf" target="_blank"> Deep Sleep Pinout </a>
|
||||
|
||||
|
||||

|
||||

|
||||
|
||||
{{% hint style="info" %}}
|
||||
To correctly connect a WiPy 2.0, LoPy or SiPy to the Deep Sleep Shield, align the white triangle on the Shield with the LED of the Pycom Device. Once the Pycom Device is seated onto the Deep Sleep Shield, this can then be connected to the Expansion Board
|
||||
|
||||
@@ -7,6 +7,7 @@ aliases:
|
||||
- chapter/datasheets/oem/g01
|
||||
---
|
||||
|
||||
## 
|
||||
|
||||
## Datasheet
|
||||
|
||||
@@ -49,4 +50,3 @@ Tutorials on the G01 module can be found in the [examples](/tutorials/introducti
|
||||
* [LTE CAT-M1](/tutorials/lte/cat-m1)
|
||||
* [NB-IoT](/tutorials/lte/nb-iot)
|
||||
* [BLE](/tutorials/all/ble)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/oem/l01
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
## Datasheet
|
||||
|
||||
@@ -42,4 +42,3 @@ Tutorials on the L01 module can be found in the [examples](/tutorials/introducti
|
||||
* [LoRaWAN node](/tutorials/lora/lorawan-abp)
|
||||
* [LoRaWAN nano gateway](/tutorials/lora/lorawan-nano-gateway)
|
||||
* [BLE](/tutorials/all/ble)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/oem/l01_reference
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
The L01 OEM reference board is a reference design suitable for the L01 as well as the W01. It makes it possible to have a single PCB design that can accommodate both of the OEM modules.
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/oem/l04
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
## Datasheet
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/oem/universal_reference
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
The universal OEM reference board is a reference design suitable for the W01, L01, L04 and G01 OEM modules, making it possible to have a single PCB design that can accommodate all of our OEM modules.
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
- chapter/datasheets/oem/w01
|
||||
---
|
||||
|
||||
## 
|
||||
## 
|
||||
|
||||
## Datasheet
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ aliases:
|
||||
|
||||
Our boards work with [MicroPython](https://micropython.org/); a Python 3.5 implementation that is optimised to run on micro controllers. This allows for much faster and more simple development process than using C.
|
||||
|
||||

|
||||

|
||||
|
||||
## Booting into MicroPython
|
||||
|
||||
@@ -16,7 +16,7 @@ When booting, two files are executed automatically: first `boot.py` and then `ma
|
||||
|
||||
The folder structure in `/flash` looks like the picture below. The files can be managed either using FTP or using the Pymakr Plugin.
|
||||
|
||||

|
||||

|
||||
|
||||
## Tips & Tricks
|
||||
|
||||
|
||||
@@ -30,9 +30,9 @@ This step works the same for all our development boards and expansion boards. In
|
||||
|
||||

|
||||
|
||||
>Note: If you do not have an expansion board, you are able to use a [USB-Serial converter](/gettinstarted/programming/usbserial/) or [WiFi](/gettingstarted/programming/ftp/) to connect.
|
||||
>Note: If you do not have an expansion board, you are able to use a [USB-Serial converter](/gettinstarted/programming/usbserial/) or [WiFi](/gettingstarted/programming/ftp/) to connect.
|
||||
|
||||
# Step 2: Setting up your computer
|
||||
# Step 2: Setting up your computer
|
||||
|
||||
Now that your module is successfully connected, you will need to install some software on your computer to interface with it. For this, we use Pymakr, a plugin for both Visual Studio Code or Atom IDE. Through one of the environments, we can connect to the board and talk python! Follow the link below for the installation instructions:
|
||||
|
||||
@@ -40,11 +40,11 @@ Now that your module is successfully connected, you will need to install some so
|
||||
|
||||
- [VS Code](/pymakr/software/vscode/)
|
||||
|
||||
# Step 3: Programming your module
|
||||
# Step 3: Programming your module
|
||||
|
||||
Now that you have a connected module and all the required software installed it is time to begin programming your device!
|
||||
|
||||
In this first example, we will make the on-board RGB LED flash different colors.
|
||||
In this first example, we will make the on-board RGB LED flash different colors.
|
||||
### Creating a project in Pymakr
|
||||
|
||||
1. Firstly you will need to create a new, empty, directory on your computer.
|
||||
@@ -65,7 +65,7 @@ If you are using Atom, it is important to check at this point that Atom has succ
|
||||
>If this is not the case you can press `alt-ctrl-r` on Windows/Linux or `ctrl-alt-cmd-l` on macOS, in order to reload Atom and fix the issue.
|
||||
|
||||
|
||||
4. Now that you have created a poject, we need to add some files. A standard MicroPython project will have a `lib` folder for additional libraries, and two python files: `main.py` and `boot.py`.
|
||||
4. Now that you have created a poject, we need to add some files. A standard MicroPython project will have a `lib` folder for additional libraries, and two python files: `main.py` and `boot.py`.
|
||||
|
||||
* `main.py` This script runs directly after `boot.py` and should contain the main code you wish to run on your device.
|
||||
|
||||
@@ -91,8 +91,8 @@ You may have noticed that when you power up your Pycom module, the on-board LED
|
||||
|
||||
|
||||
```python
|
||||
pycom.heartbeat(False)
|
||||
```
|
||||
pycom.heartbeat(False)
|
||||
```
|
||||
|
||||
|
||||
Now it's time to test your code. On the Pymakr pane/bottom of the window you will see a `run` button. (If you haven't connected to your device yet, you will need to do that first). When you click the run button, the code in the currently open file will be executed on the device, but it won't copy it to the device. After running this code, you should see that that on-board LED stops blinking blue.
|
||||
@@ -117,7 +117,7 @@ while True:
|
||||
|
||||
Once you run the above script, it will run forever. You will notice this prevents you from accessing the interactive REPL on the device (You cannot see the `>>>` prompt). In order to stop the script, click onto the Pymakr terminal, and press `ctrl-c` on your keyboard. This should stop the script running and return you to the interactive REPL.
|
||||
|
||||
Great work, the RGB-LED on your device should now blink in red, green and blue
|
||||
Great work, the RGB-LED on your device should now blink in red, green and blue
|
||||
|
||||
### Uploading to your module
|
||||
|
||||
@@ -128,8 +128,8 @@ If you need to remove files from your device you can use the following commands:
|
||||
|
||||
```python
|
||||
import os
|
||||
os.fsformat('/flash')
|
||||
```
|
||||
os.fsformat('/flash')
|
||||
```
|
||||
|
||||
# Step 4: Further reading
|
||||
Now that we got the basic example running, you can continue with the links below.
|
||||
@@ -149,4 +149,4 @@ Now that we got the basic example running, you can continue with the links below
|
||||
|
||||
<!--## Step 4: (Optional) Connect through WiFi (Telnet & FTP)
|
||||
|
||||
On boot, your device will initialize an Access Point (AP), together with a FTP and telnet server, to which you can communicate over WiFi. This feature can be very useful if you do not have physical access to your device. Look in your WiFi connections for the SSID: `xxpy-wlan-####`. Connect to it using the default password: ` `. -->
|
||||
On boot, your device will initialize an Access Point (AP), together with a FTP and telnet server, to which you can communicate over WiFi. This feature can be very useful if you do not have physical access to your device. Look in your WiFi connections for the SSID: `xxpy-wlan-####`. Connect to it using the default password: ` `. -->
|
||||
|
||||
17
content/gettingstarted/installation/pymakr.md
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "Pymakr"
|
||||
aliases:
|
||||
- gettingstarted/installation/pymakr.html
|
||||
- gettingstarted/installation/pymakr.md
|
||||
- chapter/gettingstarted/installation/pymakr
|
||||
---
|
||||
|
||||

|
||||
|
||||
## Pymakr Plugins <a id="pymakr-plugins"></a>
|
||||
|
||||
To make it as easy as possible Pycom has developed a plugin for two popular text editors, called Pymakr. These plugins have been built and are available for the following platforms:
|
||||
|
||||
- {{% refname "/pymakr/installation/atom" %}}
|
||||
|
||||
- {{% refname "/pymakr/installation/vscode" %}}
|
||||
@@ -34,7 +34,7 @@ If problems occur within the filesystem or you wish to factory reset your module
|
||||
|
||||
```python
|
||||
>>> import os
|
||||
>>> os.fsformat('/flash')
|
||||
>>> os.fsformat('flash')
|
||||
```
|
||||
|
||||
{{% hint style="danger" %}}
|
||||
|
||||
@@ -62,5 +62,5 @@ Follow "Importer des capteurs" under "Statuc do Parc" and select "Provisioning U
|
||||
|
||||
Once there give your device a name and enter the DevEUI, AppEUI, and AppKey obtained from the steps above:
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ You can also setup your Pycom module to act as a gateway with The Things Network
|
||||
|
||||
Inside the TTN Console, there are two options, `Applications` and `Gateways`. Select `Gateways` and then click on `register Gateway`. This will allow for the set up and registration of a new nano-gateway.
|
||||
|
||||

|
||||

|
||||
|
||||
On the Register Gateway page, you will need to set the following settings:
|
||||
|
||||
@@ -80,6 +80,6 @@ Most LoRaWAN network servers expect a Gateway ID in the form of a unique 64-bit
|
||||
|
||||
Once these settings have been applied, click `Register Gateway`. A Gateway Overview page will appear, with the configuration settings showing. Next click on the `Gateway Settings` and configure the Router address to match that of the gateway (default: `router.eu.thethings.network`).
|
||||
|
||||

|
||||

|
||||
|
||||
The `Gateway` should now be configured.
|
||||
|
||||
@@ -41,7 +41,7 @@ print(binascii.hexlify(sigfox.pac()))
|
||||
|
||||
You need to register to the Sigfox Backend. Navigate to [https://backend.sigfox.com/activate](https://backend.sigfox.com/activate)
|
||||
|
||||

|
||||

|
||||
|
||||
Find the specific country country where the device will be activated. Enter the device's _Sigfox ID_ and _Sigfox PAC_.
|
||||
|
||||
@@ -73,10 +73,10 @@ Once you register your device on Sigfox backend, then your Sigfox PAC was used,
|
||||
|
||||
To get new Sigfox PAC navigate to your device on Sigfox backend. On _device_ click on Sigfox Id of device you want to transfer.
|
||||
|
||||

|
||||

|
||||
|
||||
Now you can see your new Sigfox PAC.
|
||||
|
||||

|
||||

|
||||
|
||||
Once you know your new Sigfox PAC go to [https://backend.sigfox.com/activate](https://backend.sigfox.com/activate) and register device with different account.
|
||||
|
||||
@@ -40,7 +40,7 @@ After installing the Pymakr Plugin, you need to take a few seconds to configure
|
||||
|
||||
3. Now it should show three arrows `>>>`, indicating that you are connected!
|
||||
|
||||

|
||||

|
||||
|
||||
These settings can also be applied on a per project basis by clicking `Settings` then `Project Settings`. This will open a JSON file which you can edit to enter your desired settings.
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ First navigate open the Windows start menu and search/navigate to \`Device Manag
|
||||
|
||||
Right click the device and select "Update Driver Software".
|
||||
|
||||

|
||||

|
||||
|
||||
Select the option to **Browse my computer for driver software**.
|
||||
|
||||
@@ -41,15 +41,15 @@ Select the option to **Browse my computer for driver software**.
|
||||
|
||||
Next you will need to navigate to where you downloaded the driver to (e.g. **Downloads** Folder).
|
||||
|
||||

|
||||

|
||||
|
||||
Specify the folder in which the drivers are contained. If you haven't extracted the `.zip` file, please do this before selecting the folder.
|
||||
|
||||

|
||||

|
||||
|
||||
You may receive a warning, suggesting that Windows can't verify the publisher of this driver. Click "Install this driver software anyway" as this link points to our official driver.
|
||||
|
||||

|
||||

|
||||
|
||||
If the installation was successful, you should now see a window specifying that the driver was correctly installed.
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ Please follow these steps to install the [Pymakr VSCode Extension](https://marke
|
||||
|
||||
5. That's it! You've installed the Pymakr Extension for VSCode
|
||||
|
||||

|
||||

|
||||
|
||||
## Connecting via Serial USB
|
||||
|
||||
@@ -64,7 +64,7 @@ After installing the Pymakr Plugin, you need to take a few seconds to configure
|
||||
|
||||
7. Finally close the JSON file, click `All commands`, then `Pymakr > Connect` to connect your device. The Pymakr console should show three arrows `>>>`, indicating that you are connected
|
||||
|
||||

|
||||

|
||||
|
||||
These settings can also be applied on a per project basis by clicking `All commands` then `Pymakr > Project Settings`. This will open a JSON file which you can edit to enter your desired settings for the currently open project.
|
||||
|
||||
|
||||
@@ -8,14 +8,12 @@ Below there is a code example that should be implemented in the main.py file. Th
|
||||
|
||||
```python
|
||||
import time
|
||||
import pycom
|
||||
|
||||
if pybytes is not None:
|
||||
if pybytes.__pymesh:
|
||||
pymesh = pybytes.__pymesh
|
||||
if pybytes.__pymesh and pybytes.__pymesh.__pymesh:
|
||||
pymesh = pybytes.__pymesh.__pymesh
|
||||
while True:
|
||||
free_mem = pycom.get_free_heap()
|
||||
pkt = "Hello, from " + str(pymesh.__pymesh.mac()) + ", time " + str(time.time()) + ", mem " + str(free_mem)
|
||||
pkt = "Hello, from " + str(pymesh.mac())
|
||||
pybytes.send_signal(1, pkt)
|
||||
time.sleep(20)
|
||||
```
|
||||
@@ -23,3 +21,5 @@ if pybytes is not None:
|
||||
Every time a data is sent trough Pymesh, the node's monitoring data is also sent. This monitoring data contains information as the number of neighbors, loRa mac, IP, role, age, and location.
|
||||
|
||||
Some of this information can be seen in the Pymesh Monitoring view or in section Signal, in the device interface in Pybytes.
|
||||
|
||||
For additional `pymesh` methods, check the open-source [Pymesh Library](https://github.com/pycom/pycom-libraries/tree/master/pymesh/pymesh_frozen) and the corresponding [Pymesh documentation](/pymesh/).
|
||||
|
||||
88
content/pymakr/toolsfeatures.md
Normal file
@@ -0,0 +1,88 @@
|
||||
---
|
||||
title: "Tools/Features"
|
||||
aliases:
|
||||
- pymakr/toolsfeatures.html
|
||||
- pymakr/toolsfeatures.md
|
||||
- chapter/pymakr/toolsfeatures
|
||||
---
|
||||
|
||||
## Console (REPL)
|
||||
|
||||
MicroPython has an interactive code tool known as the REPL (Read Evaluate Print Line). The REPL allows you to run code on your device, line by line. To begin coding, go to the Pymakr Plugin Console and start typing your code. Start by making the LED change colour.
|
||||
|
||||
```python
|
||||
|
||||
import pycom # we need this module to control the LED
|
||||
|
||||
pycom.heartbeat(False) # disable the blue blinking
|
||||
pycom.rgbled(0x00ff00) # make the LED light up green in colour
|
||||
```
|
||||
|
||||
You can change the colour by adjusting the hex RGB value.
|
||||
|
||||
```python
|
||||
|
||||
pycom.rgbled(0xff0000) # now make the LED light up red in colour
|
||||
```
|
||||
|
||||
The console can be used to run any python code, also functions or loops.
|
||||
|
||||
Use `print()` to output contents of variables to the console for you to read. Returned values from functions will also be displayed if they are not caught in a variable. This will not happen for code running from the main or boot files. Here you need to use `print()` to output to the console.
|
||||
|
||||
{{% hint style="info" %}}
|
||||
Note that after writing or pasting any indented code like a function or a while loop, the user will have to press enter up to three times to tell MicroPython the code is to be closed (this is standard MicroPython & Python behaviour).
|
||||
|
||||
Also be aware that code written into the REPL is not saved after the device is powered off/on again.
|
||||
{{% /hint %}}
|
||||
|
||||
## Run
|
||||
|
||||
To test code on a device, create a new `.py` file or open an existing one, type the desired code, save the file and then press the `Run` button. This will run the code directly onto the Pycom board and output the results of the script to the REPL.
|
||||
|
||||
{{% hint style="info" %}}
|
||||
Changes made to files won't be automatically uploaded to the board upon restarting or exiting the `Run` feature, as the Pycom board will not store this code. In order to push the code permanently to a device, use the `Upload` feature.
|
||||
{{% /hint %}}
|
||||
|
||||
## Projects
|
||||
|
||||
Pymakr Plugin supports user projects, allowing for pre-configured settings such as default serial address/credentials, files to be ignored and folders to sync.
|
||||
|
||||
## pymakr.conf
|
||||
|
||||
Pymakr Plugin supports local project settings using a file called `pymakr.conf`. This can be used to store the default serial address of a device, which files to ignore and other settings. An example `pymakr.conf` is shown below:
|
||||
|
||||
```javascript
|
||||
{
|
||||
"address": "/dev/cu.usbserial-AB001234",
|
||||
"username": "micro",
|
||||
"password": "python",
|
||||
"sync_folder": "scripts"
|
||||
}
|
||||
```
|
||||
|
||||
## Upload
|
||||
|
||||
The Pymakr Plugins have a feature to sync and upload code to a device. This can be used for both uploading code to a device as well as testing out scripts by running them live on the device. The following steps demonstrate how to use this feature.
|
||||
|
||||
To start using the `Upload` feature, ensure that a project folder has been created for the device. For example, if using the `pymakr.conf` from above, this project folder should be named `scripts`. This folder should have the following structure:
|
||||
|
||||

|
||||
|
||||
Library files should be placed into the `lib` folder, certificates into the `cert` folder and so on. The `Upload` button will take the highest level folder (currently open) and upload this to the connected Pycom device. The files will be pushed to the device in exactly the same structure as within the code editor's file directory.
|
||||
|
||||
## More
|
||||
|
||||
Clicking the `More` button within the Pymakr Plugin allows for some additional features. See the options below for specific functionality.
|
||||
|
||||
### Get Firmware Version
|
||||
|
||||
Retrieves the firmware version of the Pycom device connected to the Pymakr Plugin instance.
|
||||
|
||||
### Get WiFi AP SSID
|
||||
|
||||
Retrieves the default WiFi Access Point SSID of the Pycom device connected to the Pymakr Plugin instance.
|
||||
|
||||
### Get Serial Ports
|
||||
|
||||
Retrieves the various serial ports that are available to the Pymakr Plugin instance.
|
||||
|
||||
@@ -15,7 +15,7 @@ Mesh networks essentially get rid of gateways, which decentralises the network's
|
||||
|
||||
Pymesh works on all of our LoRa supporting development boards, the LoPy4 and FiPy as well as on our OEM modules, L01 and L04.
|
||||
|
||||
_**Note: For obtaining the Pymesh firmware please follow the steps from [Pymesh LICENCE page](/pymesh/licence).**_
|
||||
_**Note: For obtaining the Pymesh firmware please follow the steps from [Pybytes - Pymesh integration](/pybytes/pymeshintegration/).**_
|
||||
|
||||
## What does Pymesh offer you?
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ aliases:
|
||||
|
||||
This Micropython library is included as frozen scripts in the Pymesh firmware release.
|
||||
|
||||
The code is open-sourced in [pycom-libraries repository](https://github.com/pycom/pycom-libraries/tree/master/lib/pymesh).
|
||||
The code is open-sourced in [pycom-libraries repository](https://github.com/pycom/pycom-libraries/blob/master/pymesh/pymesh_frozen/lib/pymesh.py).
|
||||
|
||||
It is easily customisable and contributions are welcome using [Github PRs](https://github.com/pycom/pycom-libraries/pulls).
|
||||
|
||||
|
||||
@@ -6,11 +6,16 @@ aliases:
|
||||
|
||||
## Overview
|
||||
|
||||
The Pymesh micropython library is included as a `frozen python script` in the Pymesh firmware releases.
|
||||
The Pymesh micropython library is included as a `frozen python script` in the Pymesh firmware releases. It is also available as [open-source micropython script](https://github.com/pycom/pycom-libraries/blob/master/pymesh/pymesh_frozen/lib/cli.py).
|
||||
|
||||
Instead of REPL, a specific Pymesh CLI interprets commands. This is shown by `>`.
|
||||
Instead of REPL, a specific Pymesh CLI interprets commands. This is shown by `>`. The CLI is executed on a separate thread inside the Pymesh library.
|
||||
|
||||
{{% hint style="info" %}}
|
||||
* The CLI needs to be started using the `pymesh.cli_start()` method.
|
||||
* In the CLI the `h` command will print the list of available commands.
|
||||
* The command `stop` will break the CLI thread.
|
||||
{{% /hint %}}
|
||||
|
||||
The CLI is executed on a separate thread inside the Pymesh library.
|
||||
|
||||
For example:
|
||||
```
|
||||
@@ -21,32 +26,47 @@ mesh_mac_list [1, 6, 2]
|
||||
## Internal CLI
|
||||
|
||||
```
|
||||
>>> pymesh.cli_start()
|
||||
>h
|
||||
List of available commands
|
||||
ip - display current IPv6 unicast addresses
|
||||
mac - set or display the current LoRa MAC address
|
||||
self - display all info about current node
|
||||
mml - display the Mesh Mac List (MAC of all nodes inside this Mesh)
|
||||
mp - display the Mesh Pairs (pairs of all nodes connections)
|
||||
s - send message
|
||||
ws - verifies if the message sent was acknowledged
|
||||
rm - verifies if any message was received
|
||||
sleep - deep-sleep
|
||||
br - enable/disable or display the current Border Router functionality
|
||||
brs - send packet for Mesh-external, to BR, if any
|
||||
rst - reset NOW, including NVM Pymesh IPv6
|
||||
buf - display buffer info
|
||||
ot - sends command to openthread internal CLI
|
||||
debug - set debug level
|
||||
config - print config file contents
|
||||
debug - set debug level
|
||||
gps - get/set location coordinates
|
||||
h - help, list of commands
|
||||
ip - display current IPv6 unicast addresses
|
||||
mac - set or display the current LoRa MAC address
|
||||
mml - display the Mesh Mac List (MAC of all nodes inside this Mesh), also inquires Leader
|
||||
mp - display the Mesh Pairs (Pairs of all nodes connections), also inquires Leader
|
||||
ot - sends command to openthread internal CLI
|
||||
pause - suspend Pymesh
|
||||
resume - resume Pymesh
|
||||
rm - verifies if any message was received
|
||||
rst - reset NOW, including NVM Pymesh IPv6
|
||||
s - send message
|
||||
self - display all info about current node
|
||||
sleep - deep-sleep
|
||||
stop - close this CLI
|
||||
tx_pow - set LoRa TX power in dBm (2-20)
|
||||
ws - verifies if message sent was acknowledged
|
||||
```
|
||||
|
||||
### Debug commands
|
||||
|
||||
```
|
||||
>stop
|
||||
CLI stopped
|
||||
>>>
|
||||
```
|
||||
This command stops the CLI thread.
|
||||
|
||||
```
|
||||
> debug
|
||||
5
|
||||
```
|
||||
This sets the debug level. Possible values are:
|
||||
This command displays or sets the debug level. Possible values are:
|
||||
```
|
||||
# recommended debug levels, from the most verbose to off
|
||||
DEBUG_DEBG = const(5)
|
||||
@@ -57,6 +77,16 @@ DEBUG_CRIT = const(1)
|
||||
DEBUG_NONE = const(0)
|
||||
```
|
||||
|
||||
```
|
||||
>pause
|
||||
Pymesh pausing
|
||||
>resume
|
||||
Pymesh resuming
|
||||
```
|
||||
This pair of commands stops temporarily and resumes the Pymesh executing threads.
|
||||
|
||||
A possible application is to use LoRaWAN when Pymesh is paused. [An example is here](https://github.com/pycom/pycom-libraries/blob/master/pymesh/pymesh_frozen/lorawan/main.py).
|
||||
|
||||
```
|
||||
>rst
|
||||
Mesh Reset NVM settings ...
|
||||
|
||||
@@ -1,47 +1,50 @@
|
||||
---
|
||||
title: "Pymesh Library CLI"
|
||||
title: "Obtaining Pymesh"
|
||||
aliases:
|
||||
- pymesh/simple-example
|
||||
---
|
||||
|
||||
## Licensing process
|
||||
## Obtaining Pymesh
|
||||
|
||||
In order to receive access to the Pymesh firmware releases (for Lopy4, Fipy, L01 or L04), the next process should be followed:
|
||||
|
||||
1. Complete the <a href="/gitbook/assets/pymesh/Pymesh_Licence_Copyright_Notice.pdf" target="\_blank"> the Pymesh LICENCE PDF document</a>, sign it and send us by [this email](mailto:catalin@pycom.io?subject=[Pymesh_LICENCE]).
|
||||
1. You will receive by email an archive containing the images for all boards.
|
||||
1. Extract the corresponding image, for example Lopy4.tar.gz, and upload the firmware to your board, using the [Pycom Firmware Update Tool](https://pycom.io/downloads/), similar in the following image:
|
||||
<img src="/gitbook/assets/pymesh/pymesh_firmware_update.png" alt="Pymesh Firmware Update" width="500"/>
|
||||
In order to receive access to the Pymesh firmware releases (for Lopy4, Fipy, L01 or L04), please follow the steps from [Pybytes - Pymesh integration](/pybytes/pymeshintegration/).
|
||||
|
||||
## Test Pymesh firmware loading
|
||||
|
||||
### Method 1
|
||||
|
||||
The simplest way to check if the Pymesh class has been successfully installed is to try the following code, directly in REPL:
|
||||
The simplest way to check if the Pymesh class has been successfully instantiated (and started inside Pybytes) is to try the following code, directly in REPL:
|
||||
|
||||
```python
|
||||
>>> from network import LoRa
|
||||
>>> lora = LoRa(mode=LoRa.LORA)
|
||||
>>> mesh = lora.Mesh()
|
||||
# todo: add try/except for checking pybytes object exists
|
||||
>>> pymesh = pybytes.__pymesh.__pymesh
|
||||
>>> pymesh.cli_start()
|
||||
>h
|
||||
List of available commands
|
||||
br - enable/disable or display the current Border Router functionality
|
||||
brs - send packet for Mesh-external, to BR, if any
|
||||
buf - display buffer info
|
||||
config - print config file contents
|
||||
debug - set debug level
|
||||
gps - get/set location coordinates
|
||||
h - help, list of commands
|
||||
ip - display current IPv6 unicast addresses
|
||||
mac - set or display the current LoRa MAC address
|
||||
mml - display the Mesh Mac List (MAC of all nodes inside this Mesh), also inquires Leader
|
||||
mp - display the Mesh Pairs (Pairs of all nodes connections), also inquires Leader
|
||||
ot - sends command to openthread internal CLI
|
||||
pause - suspend Pymesh
|
||||
resume - resume Pymesh
|
||||
rm - verifies if any message was received
|
||||
rst - reset NOW, including NVM Pymesh IPv6
|
||||
s - send message
|
||||
self - display all info about current node
|
||||
sleep - deep-sleep
|
||||
stop - close this CLI
|
||||
tx_pow - set LoRa TX power in dBm (2-20)
|
||||
ws - verifies if message sent was acknowledged
|
||||
|
||||
```
|
||||
|
||||
### Method 2
|
||||
|
||||
Upload the `main.py` from the [Simple Example](/pymesh/simple-example).
|
||||
|
||||
## FAQ
|
||||
|
||||
Q: **I've received an error, such as `(LoadProhibited). Exception was unhandled.`, what should I do?**
|
||||
|
||||
A: In some cases, the NVM partition needs to be formatted. For this a format of whole Flash Memory should be performed.
|
||||
|
||||
This can be done using the cli version of the `Firmware Update Tool`, so please navigate where the app was installed (search for pycom-fwtool-cli executable) and execute:
|
||||
```
|
||||
pycom-fwtool-cli -p <PORT> erase_all
|
||||
```
|
||||
|
||||
`<PORT>` should be replaced with the actual USB COM port, for example:
|
||||
|
||||
* on Windows `COM10`
|
||||
* on Linux `/dev/ttyACM0`
|
||||
* on MacOS `/dev/tty.usbmodemPy8eaa911`
|
||||
|
||||
@@ -6,16 +6,19 @@ aliases:
|
||||
|
||||
## What is Pymesh micropython library?
|
||||
|
||||
The Pymesh Micropython library is a set of frozen scripts in the Pymesh firmware binary release.
|
||||
The Pymesh Micropython library is a set of frozen scripts in the Pymesh firmware binary release; the [open-source scripts are available on github](https://github.com/pycom/pycom-libraries/tree/master/pymesh/pymesh_frozen)
|
||||
|
||||
[Open-source on github](https://github.com/pycom/pycom-libraries/tree/master/pymesh/pymesh_frozen)
|
||||
|
||||
It allows users to access Pymesh in a few lines of code, as shown in the following code snippet.
|
||||
|
||||
Additionally, users can install the Pymesh mobile application which is available [here for both iOS and Android platforms](https://github.com/pycom/pycom-libraries/tree/master/pymesh/mobile_app). It allows users to connect over BLE to a Pymesh node and find out network information.
|
||||
If Pybytes is used, then Pymesh is already started and pymesh object can be obtained by simply using (`main-pybytes.py` from github):
|
||||
|
||||
```python
|
||||
|
||||
# todo: add try/except for checking pybytes object exists
|
||||
pymesh = pybytes.__pymesh.__pymesh
|
||||
```
|
||||
|
||||
If Pybytes is not used, then the Pymesh network has to be started manually. The is shown in the following code snippet (`main.py` from github):
|
||||
|
||||
```python
|
||||
import pycom
|
||||
import time
|
||||
|
||||
@@ -52,9 +55,7 @@ pymesh_config = PymeshConfig.read_config()
|
||||
#initialize Pymesh
|
||||
pymesh = Pymesh(pymesh_config, new_message_cb)
|
||||
|
||||
mac = pymesh.mac()
|
||||
# based on LoRa MAC address, some nodes could be forced to be
|
||||
# sleep-end-devices (always Child) or to have increased Leader priority
|
||||
# mac = pymesh.mac()
|
||||
# if mac > 10:
|
||||
# pymesh.end_device(True)
|
||||
# elif mac == 5:
|
||||
@@ -82,21 +83,24 @@ pymesh.send_mess(5, "Hello World")
|
||||
# pymesh.br_set(PymeshConfig.BR_PRIORITY_NORM, new_br_message_cb)
|
||||
|
||||
# remove Border Router function from current node
|
||||
#pymesh.br_remove()
|
||||
# pymesh.br_remove()
|
||||
|
||||
# send data for Mesh-external, basically to the BR
|
||||
# ip = "1:2:3::4"
|
||||
# port = 5555
|
||||
# pymesh.send_mess_external(ip, port, "Hello World")
|
||||
|
||||
print("done Pymesh init, forever loop, exit/stop with Ctrl+C multiple times")
|
||||
# set BR with callback
|
||||
print("done Pymesh init, CLI is started, h - help/command list, stop - CLI will be stopped")
|
||||
pymesh.cli_start()
|
||||
|
||||
# while True:
|
||||
# time.sleep(3)
|
||||
|
||||
while True:
|
||||
time.sleep(3)
|
||||
|
||||
```
|
||||
|
||||
Additionally, users can install the Pymesh mobile application which is available [here for both iOS and Android platforms](https://github.com/pycom/pycom-libraries/tree/master/pymesh/mobile_app). It allows users to connect over BLE to a Pymesh node and find out network information.
|
||||
|
||||
## Output
|
||||
|
||||
An example of possible output is below.
|
||||
|
||||
103
content/pytrackpysense/_index.md
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
title: "Introduction"
|
||||
aliases:
|
||||
- pytrackpysense/introduction.html
|
||||
- pytrackpysense/introduction.md
|
||||
- chapter/pytrackpysense
|
||||
- expansion3/introduction.html
|
||||
- expansion3/introduction.md
|
||||
- chapter/expansion3
|
||||
disable_breadcrumbs: true
|
||||
---
|
||||
|
||||
In addition to the Expansion Board, Pycom also offers three additional types of sensor boards, which are ideal for quickly building a fully functioning IoT solution! Whether the application is environment sensing or asset tracking, these additional boards support a variety of sensors. New versions of the Pytrack and Pysense are now available with additional features:
|
||||
|
||||
## Pytrack 2.0 X
|
||||
|
||||
Pytrack 2.0 X is an improved location enabled version of the Expansion Board, intended for use in GPS applications such as asset tracking or monitoring.
|
||||
|
||||

|
||||
|
||||
## New Features on Pytrack 2.0 X
|
||||
|
||||
* External 6 pin connector to add new Pycom sensor range Pynodes. You can technically have upto 256 nodes connected in a daisy chain (data bus) although we are sure you would never reach that number
|
||||
* SMA connector for External active / passive GPS antennas when the built-in GPS antenna needs a boost!
|
||||
* circuity to enable full power down of module for hard resets without needing to put module in Deep sleep.
|
||||
* safeboot button for when things go wrong
|
||||
|
||||
## Pysense 2.0 X
|
||||
|
||||
Pysense 2.0 X is an improved sensor packed version of the Expansion Board, intended for use in environment sensing applications such as temperature, humidity monitoring, and light sensing.
|
||||
|
||||

|
||||
|
||||
## New Features on Pysense 2.0 X
|
||||
|
||||
* External 6 pin connector to add new Pycom sensor range Pynodes (Coming Soon!)
|
||||
* A new circuity to enable full power down of module for hard resets without needing to put module in Deep sleep.
|
||||
* Enhanced isolation of onboard sensors to improve reliability of sensor reporting.
|
||||
* New safeboot button for when things go wrong
|
||||
|
||||
## Pytrack 1
|
||||
|
||||
Pytrack is a location enabled version of the Expansion Board, intended for use in GPS applications such as asset tracking or monitoring.
|
||||
|
||||

|
||||
|
||||
### Features & Hardware
|
||||
|
||||
The Pytrack is has a number of features including GPS, 3-Axis Accelerometer and Battery Charger. See the list below for detailed specifics about each sensor, including datasheets.
|
||||
|
||||
* Serial USB
|
||||
* 3-Axis Accelerometer ([LIS2HH12](apireference/pytrack.md#3-axis-accelerometer-lis-2-hh-12))
|
||||
* Battery Charger (BQ24040 with JST connector)
|
||||
* GPS and GLONASS ([L76-L](apireference/pytrack.md#gps-with-glonass-quectel-l-76-l-gnss))
|
||||
* MicroSD Card Reader
|
||||
|
||||
All of the included sensors are connected to the Pycom device via the I2C interface. These pins are located at `P22` (SDA) and `P21` (SCL).
|
||||
|
||||
You can find the datasheet and more info here: {{% refname "../datasheets/boards/pytrack.md" %}}
|
||||
|
||||
## Pysense 1
|
||||
|
||||
Pysense is a sensor packed version of the Expansion Board, intended for use in environment sensing applications such as temperature, humidity monitoring, and light sensing.
|
||||
|
||||

|
||||
|
||||
### Features & Hardware
|
||||
|
||||
The Pysense is packed with a number of sensors and hardware, see the list below for detailed specifics about each sensor, including datasheets.
|
||||
|
||||
* Serial USB
|
||||
* 3-Axis Accelerometer ([LIS2HH12](apireference/pysense.md#3-axis-accelerometer-lis-2-hh-12))
|
||||
* Battery Charger (BQ24040 with JST connector)
|
||||
* Digital Ambient Light Sensor ([LTR-329ALS-01](apireference/pysense.md#digital-ambient-light-sensor-ltr-329-als-01))
|
||||
* Humidity and Temperature Sensor ([SI7006-A20](apireference/pysense.md#humidity-and-temperature-sensor-si-7006-a20))
|
||||
* Barometric Pressure Sensor with Altimeter ([MPL3115A2](apireference/pysense.md#barometric-pressure-sensor-with-altimeter-mpl-3115-a2))
|
||||
* MicroSD Card Reader
|
||||
|
||||
All of the included sensors are connected to the Pycom device via the I2C interface. These pins are located at `GPI09` (SDA) and `GPI08` (SCL).
|
||||
|
||||
You can find the datasheet and more info here: {{% refname "../datasheets/boards/pysense.md" %}}
|
||||
|
||||
## Pyscan
|
||||
|
||||
Pyscan is a RFID-NFC enabled version of the Expansion Board, intended for use in scanning applications, such as RFID/NFC readers.
|
||||
|
||||

|
||||
|
||||
### Features & Hardware
|
||||
|
||||
The Pyscan is packed with a number of sensors and hardware, see the list below for detailed specifics about each sensor, including datasheets.
|
||||
|
||||
* 3-Axis Accelerometer ([LIS2HH12](apireference/pyscan.md#3-axis-accelerometer-lis-2-hh-12))
|
||||
* Digital Ambient Light Sensor ([LTR-329ALS-01](apireference/pyscan.md#digital-ambient-light-sensor-ltr-329-als-01))
|
||||
* RFID-NFC Chip ([MFRC63002HN](apireference/pyscan.md#pyscan-nfc-library-mfrc-6300))
|
||||
* Serial USB
|
||||
* Battery Charger (BQ24040 with JST connector)
|
||||
* MicroSD Card Reader
|
||||
* Ultra low power operation (~1uA in deep sleep)
|
||||
|
||||
All of the included sensors are connected to the Pycom device via the I2C interface. These pins are located at `P22` (SDA) and `P21` (SCL).
|
||||
|
||||
You can find the datasheet and more info here: {{% refname "../datasheets/boards/pyscan.md" %}}
|
||||
101
content/pytrackpysense/introduction.md
Normal file
@@ -0,0 +1,101 @@
|
||||
---
|
||||
title: "Introduction"
|
||||
aliases:
|
||||
- pytrackpysense/introduction.html
|
||||
- pytrackpysense/introduction.md
|
||||
- chapter/pytrackpysense
|
||||
---
|
||||
|
||||
In addition to the Expansion Board, Pycom also offers three additional types of sensor boards, which are ideal for quickly building a fully functioning IoT solution! Whether the application is environment sensing or asset tracking, these additional boards support a variety of sensors. New versions of the Pytrack and Pysense are now available with additional features:
|
||||
|
||||
## Pytrack 2.0 X
|
||||
|
||||
Pytrack 2.0 X is an improved location enabled version of the Expansion Board, intended for use in GPS applications such as asset tracking or monitoring.
|
||||
|
||||

|
||||
|
||||
## New Features on Pytrack 2.0 X
|
||||
|
||||
* External 6 pin connector to add new Pycom sensor range Pynodes. You can technically have upto 256 nodes connected in a daisy chain (data bus) although we are sure you would never reach that number
|
||||
* SMA connector for External active / passive GPS antennas when the built-in GPS antenna needs a boost!
|
||||
* circuity to enable full power down of module for hard resets without needing to put module in Deep sleep.
|
||||
* safeboot button for when things go wrong
|
||||
|
||||
## Pysense 2.0 X
|
||||
|
||||
Pysense 2.0 X is an improved sensor packed version of the Expansion Board, intended for use in environment sensing applications such as temperature, humidity monitoring, and light sensing.
|
||||
|
||||

|
||||
|
||||
## New Features on Pysense 2.0 X
|
||||
|
||||
* External 6 pin connector to add new Pycom sensor range Pynodes (Coming Soon!)
|
||||
* A new circuity to enable full power down of module for hard resets without needing to put module in Deep sleep.
|
||||
* Enhanced isolation of onboard sensors to improve reliability of sensor reporting.
|
||||
* New safeboot button for when things go wrong
|
||||
|
||||
## Pytrack 1
|
||||
|
||||
Pytrack is a location enabled version of the Expansion Board, intended for use in GPS applications such as asset tracking or monitoring.
|
||||
|
||||

|
||||
|
||||
### Features & Hardware
|
||||
|
||||
The Pytrack is has a number of features including GPS, 3-Axis Accelerometer and Battery Charger. See the list below for detailed specifics about each sensor, including datasheets.
|
||||
|
||||
* Serial USB
|
||||
* 3-Axis Accelerometer ([LIS2HH12](apireference/pytrack.md#3-axis-accelerometer-lis-2-hh-12))
|
||||
* Battery Charger (BQ24040 with JST connector)
|
||||
* GPS and GLONASS ([L76-L](apireference/pytrack.md#gps-with-glonass-quectel-l-76-l-gnss))
|
||||
* MicroSD Card Reader
|
||||
|
||||
All of the included sensors are connected to the Pycom device via the I2C interface. These pins are located at `P22` (SDA) and `P21` (SCL).
|
||||
|
||||
You can find the datasheet and more info here: {{% refname "../datasheets/boards/pytrack.md" %}}
|
||||
|
||||
## Pysense 1
|
||||
|
||||
Pysense is a sensor packed version of the Expansion Board, intended for use in environment sensing applications such as temperature, humidity monitoring, and light sensing.
|
||||
|
||||

|
||||
|
||||
### Features & Hardware
|
||||
|
||||
The Pysense is packed with a number of sensors and hardware, see the list below for detailed specifics about each sensor, including datasheets.
|
||||
|
||||
* Serial USB
|
||||
* 3-Axis Accelerometer ([LIS2HH12](apireference/pysense.md#3-axis-accelerometer-lis-2-hh-12))
|
||||
* Battery Charger (BQ24040 with JST connector)
|
||||
* Digital Ambient Light Sensor ([LTR-329ALS-01](apireference/pysense.md#digital-ambient-light-sensor-ltr-329-als-01))
|
||||
* Humidity and Temperature Sensor ([SI7006-A20](apireference/pysense.md#humidity-and-temperature-sensor-si-7006-a20))
|
||||
* Barometric Pressure Sensor with Altimeter ([MPL3115A2](apireference/pysense.md#barometric-pressure-sensor-with-altimeter-mpl-3115-a2))
|
||||
* MicroSD Card Reader
|
||||
|
||||
All of the included sensors are connected to the Pycom device via the I2C interface. These pins are located at `GPI09` (SDA) and `GPI08` (SCL).
|
||||
|
||||
You can find the datasheet and more info here: {{% refname "../datasheets/boards/pysense.md" %}}
|
||||
|
||||
## Pyscan
|
||||
|
||||
Pyscan is a RFID-NFC enabled version of the Expansion Board, intended for use in scanning applications, such as RFID/NFC readers.
|
||||
|
||||

|
||||
|
||||
### Features & Hardware
|
||||
|
||||
The Pyscan is packed with a number of sensors and hardware, see the list below for detailed specifics about each sensor, including datasheets.
|
||||
|
||||
* 3-Axis Accelerometer ([LIS2HH12](apireference/pyscan.md#3-axis-accelerometer-lis-2-hh-12))
|
||||
* Digital Ambient Light Sensor ([LTR-329ALS-01](apireference/pyscan.md#digital-ambient-light-sensor-ltr-329-als-01))
|
||||
* RFID-NFC Chip ([MFRC63002HN](apireference/pyscan.md#pyscan-nfc-library-mfrc-6300))
|
||||
* Serial USB
|
||||
* Battery Charger (BQ24040 with JST connector)
|
||||
* MicroSD Card Reader
|
||||
* Ultra low power operation (~1uA in deep sleep)
|
||||
|
||||
All of the included sensors are connected to the Pycom device via the I2C interface. These pins are located at `P22` (SDA) and `P21` (SCL).
|
||||
|
||||
You can find the datasheet and more info here:
|
||||
|
||||
{{% refname "../datasheets/boards/pyscan.md" %}}
|
||||
BIN
content/tutorials/.DS_Store
vendored
Normal file
@@ -19,7 +19,7 @@ To connect your Pygate to a LoRa server, please follow these steps:
|
||||
1. Flash the Pycom Device with with a firmware build where Pygate functionality is enabled. In the firmware update tool, please choose pygate as the firmware type.
|
||||
1. Create a `config.json` for your Pygate and upload it (please check the template further below).
|
||||
1. Create a `main.py` that creates an uplink (wifi, ethernet or lte) and runs the LoRa packet forwarder (see example below).
|
||||
1. Run the `main.py`. This file is automatically execute every time the module resets.
|
||||
1. Run the `main.py`. This file is automatically executed every time the module resets.
|
||||
1. Now it is operational. The communication from other LoRa nodes such as a LoPy4 will now reach the gateway and will receive up and downlink messages via the PyGate.
|
||||
1. To stop the Pygate at any time press Ctrl-C on the REPL and run `machine.pygate_deinit()`. It will take a few seconds to stop the gateway tasks and safely power-off the concentrator.
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ aliases:
|
||||
disable_breadcrumbs: true
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
## Tutorials and Examples
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ while True:
|
||||
time.sleep_ms(100)
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
If you want to visualise the data output by this script a Processing sketch is available [here](https://github.com/pycom/pycom-libraries/tree/master/examples/pytrack_pysense_accelerometer) that will show the board orientation in 3D.
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ duration = 10000
|
||||
rmt.pulses_send(duration, data)
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
In this example we define the signal by a tuple of durations and what state the signal starts in.
|
||||
|
||||
@@ -79,7 +79,7 @@ duration = (400,200,100,300,200,400)
|
||||
rmt.pulses_send(duration, data)
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
The following example creates an RMT object on channel 4 and configures it for transmission with carrier modulation.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ aliases:
|
||||
- chapter/tutorials
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
## Tutorials and Examples
|
||||
|
||||
|
||||
@@ -361,7 +361,7 @@ Once an account has been registered, the nano-gateway can then be registered. To
|
||||
|
||||
Inside the TTN Console, there are two options, `applications` and `gateways`. Select `gateways` and then click on `register gateway`. This will allow for the set up and registration of a new nano-gateway.
|
||||
|
||||

|
||||

|
||||
|
||||
On the Register Gateway page, you will need to set the following settings:
|
||||
|
||||
@@ -382,7 +382,7 @@ The Gateway EUI should match your Gateway ID from the `config.py` file. We sugge
|
||||
|
||||
Once these settings have been applied, click `Register Gateway`. A Gateway Overview page will appear, with the configuration settings showing. Next click on the `Gateway Settings` and configure the Router address to match that of the gateway (default: `router.eu.thethings.network`).
|
||||
|
||||

|
||||

|
||||
|
||||
The `Gateway` should now be configured. Next, one or more nodes can now be configured to use the nano-gateway and TTN applications may be built.
|
||||
|
||||
@@ -541,22 +541,22 @@ Once the device has been added, change the `Activation Method` between `OTAA` an
|
||||
|
||||
Now that the data is arriving on the TTN Backend, TTN can be managed as to where data should be delivered to. To do this, use the `Integrations` tab within the new Application's settings.
|
||||
|
||||

|
||||

|
||||
|
||||
Upon clicking `add integration`, a screen with 4 different options will appear. These have various functionality and more information about them can be found on the TTN website/documentation.
|
||||
|
||||
For this example, use the `HTTP Integration` to forward the LoRaWAN Packets to a remote server/address.
|
||||
|
||||

|
||||

|
||||
|
||||
Click `HTTP Integration` to connect up an endpoint that can receive the data.
|
||||
|
||||
For testing, a website called [RequestBin](https://requestbin.com/), may be used to receive the data that TTN forwards (via POST Request). To set this up, navigate to [RequestBin](https://requestbin.com/) and click the `Create a RequestBin`.
|
||||
|
||||

|
||||

|
||||
|
||||
Copy the URL that is generated and past this into the `URL` form under the `Application Settings`.
|
||||
|
||||

|
||||

|
||||
|
||||
This is the address that TTN will forward data onto. As soon as a LoPy starts sending messages, TTN will forward these onto `RequestBin` and they will appear at the unique `RequestBin URL`.
|
||||
|
||||
@@ -48,7 +48,7 @@ Firstly you will need to log into the [Sigfox Backend](https://backend.sigfox.co
|
||||
|
||||
You should now see the Information page with an entry `Device Type:` followed by a link. Please follow the link
|
||||
|
||||

|
||||

|
||||
|
||||
Finally, on this page click on `Disengage sequence number` button in the upper right corner.
|
||||
|
||||
|
||||
@@ -54,8 +54,8 @@ Please note that the `updater.elf` file is only around 300K so you can also stor
|
||||
import sqnsupgrade
|
||||
sqnsupgrade.run('upgdiff_38638-to-39529.dup')
|
||||
```
|
||||
If you are updating the Sequans firmware on your module for the first time, please use this file instead upgdiff_33080-to-39529.dup (1.2M), which is from the same archive.
|
||||
Similar upgrade packages are available for the NB-IoT firmware.
|
||||
If you are updating the Sequans firmware on your module for the first time, please use instead the file upgdiff_33080-to-39529.dup (1.2M) from the same archive.
|
||||
Similar upgrade packages are available for the NB-IoT firmwares.
|
||||
{{% /hint %}}
|
||||
|
||||
## Via SD card
|
||||
@@ -70,11 +70,11 @@ To transfer the firmware files onto the SD card you have two options:
|
||||
from machine import SD
|
||||
|
||||
sd = SD()
|
||||
os.fsformat('/sd') # format SD card
|
||||
os.fsformat('/sd') # format SD card
|
||||
from machine import SD
|
||||
sd = SD()
|
||||
fs = os.mkfat(sd)
|
||||
os.mount(sd, '/sd') # mount it
|
||||
os.mount(fs, '/sd') # mount it
|
||||
os.listdir('/sd') # list its content
|
||||
```
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 265 KiB |
|
Before Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 171 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 246 KiB |
|
Before Width: | Height: | Size: 1.7 MiB |
|
Before Width: | Height: | Size: 327 KiB |
|
Before Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 289 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 249 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 229 KiB |
|
Before Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 227 KiB |
|
Before Width: | Height: | Size: 76 KiB |
BIN
static/gitbook/assets/PySense2X_specsheet.pdf
Normal file
BIN
static/gitbook/assets/PyTrack2X_specsheet.pdf
Normal file
BIN
static/gitbook/assets/Pysense_v2.0X_MechanicalDimensions.png
Normal file
|
After Width: | Height: | Size: 232 KiB |
BIN
static/gitbook/assets/Pytrack_v2.0X_MechanicalDimensions.png
Normal file
|
After Width: | Height: | Size: 340 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 731 KiB |
|
Before Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 401 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 278 KiB |
|
Before Width: | Height: | Size: 13 KiB |