diff --git a/PlatformIO/README.md b/PlatformIO/README.md index 5c116ae..e5c0306 100644 --- a/PlatformIO/README.md +++ b/PlatformIO/README.md @@ -8,23 +8,21 @@ https://code.visualstudio.com/ After installing VS code, you can search PlatformIO and install it in the Extensions item: -![image-20200722100737565](assets/image-20200722100737565.png) - - +![pio_install_pio_1](../assets/PlatformIO/pio_install_pio_1.png) After installing PlatformIO, you can see the PlatformIO icon and open it as follow: -![image-20200722101053523](assets/image-20200722101053523.png) +![pio_open_pio_home](../assets/PlatformIO/pio_open_pio_home.png) Open "Platforms" in PlatformIO and search "Nordic" as follow: -![image-20200722102908384](assets/image-20200722102908384.png) +![pio_install_platform_1](../assets/PlatformIO/pio_install_platform_1.png) You can see there are several items, just click "Nordic nRF52" item and "Install" it as follow: -![image-20200722103130747](assets/image-20200722103130747.png) +![pio_install_platform_2](../assets/PlatformIO/pio_install_platform_2.png) -![image-20200722103232366](assets/image-20200722103232366.png) +![pio_install_platform_3](../assets/PlatformIO/pio_install_platform_3.png) Download the PlatformIO folder from: @@ -38,18 +36,18 @@ The path maybe like: Then, create a new project in PlatformIO: -![image-20200722104754712](assets/image-20200722104754712.png) +![pio_install_platform_4](../assets/PlatformIO/pio_install_platform_4.png) Choose "WisCore RAK4631 Board (RAKwireless)" for "Board" item, and choose "Arduino" for "Framework" item as follow: -![image-20200722104925274](assets/image-20200722104925274.png) +![pio_install_platform_5](../assets/PlatformIO/pio_install_platform_5.png) After creating successfully, you can see the project: -![image-20200722105421895](assets/image-20200722105421895.png) +![pio_install_platform_6](../assets/PlatformIO/pio_install_platform_6.png) Now, Copy the complete folder "WisCore_RAK4631_Board" in the "PlatformIO" folder which you just downloaded to the framework-arduinoadafruitnrf52 package variants folder. The path maybe like: - - Windows: %USER%\.platformio\packages\framework-arduinoadafruitnrf52\variants + - Windows: %USER%\\.platformio\packages\framework-arduinoadafruitnrf52\variants Finally, restart the PlatformIO. @@ -63,24 +61,37 @@ https://github.com/RAKWireless/WisBlock/tree/master/examples/communications/LoRa Just copy the source code of the .ino file into the main.cpp of the PlatformIO project we just created: -![image-20200722111241582](assets/image-20200722111241582.png) +![pio_compile_1](../assets/PlatformIO/pio_compile_1.png) Then we need to install the LoRaWAN® library "SX126x-Arduino" in PlatformIO firstly because this example is built based on this library. Just search "SX126x" in "Libraries" item of PlatformIO, and you can see "SX126x-Arduino" as follow: -![image-20200722112932981](assets/image-20200722112932981.png) +![pio_compile_2](../assets/PlatformIO/pio_compile_2.png) Just click it and "Install" this library as follow: -![image-20200722113100736](assets/image-20200722113100736.png) +![pio_compile_3](../assets/PlatformIO/pio_compile_3.png) + +To define your LoRaWan regional settings, open the file `platformio.ino` and set the region as a build-flag. In this example we set it to US915: +```ini +build_flags = + -DREGION_US915 +``` +And here we set the region to EU868: +```ini +build_flags = + -DREGION_EU868 +``` + +![pio_compile_6](../assets/PlatformIO/pio_compile_6.png) Then compile it by click the compiling icon at the bottom tool bar as follow: -![image-20200722113244435](assets/image-20200722113244435.png) +![pio_compile_4](../assets/PlatformIO/pio_compile_4.png) -![image-20200722113305159](assets/image-20200722113305159.png) +![pio_compile_5](../assets/PlatformIO/pio_compile_5.png) Great! We've compiled this example successfully! Same as in Arduino IDE, there is an upload icon (green circle) on the right of the compiling icon (red circle) which can be used to upload the compiled firmware into your device. -![image-20200722113305159](assets/pio-flash.jpg) +![pio-flash](../assets/PlatformIO/pio-flash.jpg) diff --git a/README.md b/README.md index 40c4edc..76dce79 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # RAKwireless WisBlock -#### ![image-20200714152453848](doc/Quick_Start/assets/WisBlock-Assembly.png) +#### ![WisBlock-Assembly](assets/repo/WisBlock-Assembly.png) ## Introduction WisBlock is an amazing product built by the RAK company for IoT industry. It can build circuits like clicking blocks together to quickly to realize your idea. @@ -74,6 +74,8 @@ To buy WisBlock modules please visit our [online store](https://store.rakwireles - [Flashable Bootloader](bootloader/) - [Bootloader Source Code](bootloader/Adafruit_nRF52_Bootloader/) +- PlatformIO installation + - [PlatformIO files](PlatformIO/) ## Overview WisBlock is a modular Plug&Play system. Compared with other systems (Arduino, Raspberry Pi, M5Stack) it has several advantages. diff --git a/examples/communications/BLE/ble_ota_dfu/images/image-binary-directory.png b/assets/Arduino/ard-binary-image.png similarity index 100% rename from examples/communications/BLE/ble_ota_dfu/images/image-binary-directory.png rename to assets/Arduino/ard-binary-image.png diff --git a/examples/communications/LoRa/LoRaWAN/res/7.png b/assets/Arduino/ard-compile-finished.png similarity index 100% rename from examples/communications/LoRa/LoRaWAN/res/7.png rename to assets/Arduino/ard-compile-finished.png diff --git a/examples/communications/BLE/ble_ota_dfu/images/image-compile-options.png b/assets/Arduino/ard-compile-opt.png similarity index 100% rename from examples/communications/BLE/ble_ota_dfu/images/image-compile-options.png rename to assets/Arduino/ard-compile-opt.png diff --git a/examples/communications/BLE/ble_ota_dfu/images/image-20200728181447095.png b/assets/Arduino/ard-hex-file-location.png similarity index 100% rename from examples/communications/BLE/ble_ota_dfu/images/image-20200728181447095.png rename to assets/Arduino/ard-hex-file-location.png diff --git a/doc/Quick_Start/assets/image-20200703115901208.png b/assets/Arduino/ard-install-1.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703115901208.png rename to assets/Arduino/ard-install-1.png diff --git a/doc/Quick_Start/assets/image-20200702170822034.png b/assets/Arduino/ard-install-10.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702170822034.png rename to assets/Arduino/ard-install-10.png diff --git a/doc/Quick_Start/assets/image-20200702171102982.png b/assets/Arduino/ard-install-11.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702171102982.png rename to assets/Arduino/ard-install-11.png diff --git a/doc/Quick_Start/assets/image-20200702171813125.png b/assets/Arduino/ard-install-12.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702171813125.png rename to assets/Arduino/ard-install-12.png diff --git a/doc/Quick_Start/assets/image-20200714154646417.png b/assets/Arduino/ard-install-13.png similarity index 100% rename from doc/Quick_Start/assets/image-20200714154646417.png rename to assets/Arduino/ard-install-13.png diff --git a/doc/Quick_Start/assets/image-20200703122036065.png b/assets/Arduino/ard-install-14.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703122036065.png rename to assets/Arduino/ard-install-14.png diff --git a/doc/Quick_Start/assets/image-20200813153802314.png b/assets/Arduino/ard-install-15.png similarity index 100% rename from doc/Quick_Start/assets/image-20200813153802314.png rename to assets/Arduino/ard-install-15.png diff --git a/doc/Quick_Start/assets/image-20200807181319299.png b/assets/Arduino/ard-install-16.png similarity index 100% rename from doc/Quick_Start/assets/image-20200807181319299.png rename to assets/Arduino/ard-install-16.png diff --git a/doc/Quick_Start/assets/image-20200813153248941.png b/assets/Arduino/ard-install-17.png similarity index 100% rename from doc/Quick_Start/assets/image-20200813153248941.png rename to assets/Arduino/ard-install-17.png diff --git a/doc/Quick_Start/assets/image-20200702191428103.png b/assets/Arduino/ard-install-18.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702191428103.png rename to assets/Arduino/ard-install-18.png diff --git a/doc/Quick_Start/assets/image-20200702191717737.png b/assets/Arduino/ard-install-19.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702191717737.png rename to assets/Arduino/ard-install-19.png diff --git a/doc/Quick_Start/assets/image-20200703115937421.png b/assets/Arduino/ard-install-2.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703115937421.png rename to assets/Arduino/ard-install-2.png diff --git a/doc/Quick_Start/assets/image-20200702191352945.png b/assets/Arduino/ard-install-20.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702191352945.png rename to assets/Arduino/ard-install-20.png diff --git a/doc/Quick_Start/assets/image-20200702192336842.png b/assets/Arduino/ard-install-21.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702192336842.png rename to assets/Arduino/ard-install-21.png diff --git a/doc/Quick_Start/assets/image-20200702192430475.png b/assets/Arduino/ard-install-22.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702192430475.png rename to assets/Arduino/ard-install-22.png diff --git a/doc/Quick_Start/assets/image-20200703115958670.png b/assets/Arduino/ard-install-3.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703115958670.png rename to assets/Arduino/ard-install-3.png diff --git a/doc/Quick_Start/assets/image-20200703120015822.png b/assets/Arduino/ard-install-4.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703120015822.png rename to assets/Arduino/ard-install-4.png diff --git a/doc/Quick_Start/assets/image-20200703120034198.png b/assets/Arduino/ard-install-5.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703120034198.png rename to assets/Arduino/ard-install-5.png diff --git a/doc/Quick_Start/assets/image-20200703120054258.png b/assets/Arduino/ard-install-6.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703120054258.png rename to assets/Arduino/ard-install-6.png diff --git a/doc/Quick_Start/assets/image-20200703120123062.png b/assets/Arduino/ard-install-7.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703120123062.png rename to assets/Arduino/ard-install-7.png diff --git a/doc/Quick_Start/assets/image-20200703120140901.png b/assets/Arduino/ard-install-8.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703120140901.png rename to assets/Arduino/ard-install-8.png diff --git a/doc/Quick_Start/assets/image-20200702170623007.png b/assets/Arduino/ard-install-9.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702170623007.png rename to assets/Arduino/ard-install-9.png diff --git a/examples/communications/LoRa/LoRaWAN/res/6-1594607481721.jpg b/assets/Arduino/ard-select-region.jpg similarity index 100% rename from examples/communications/LoRa/LoRaWAN/res/6-1594607481721.jpg rename to assets/Arduino/ard-select-region.jpg diff --git a/examples/sensors/RAK1906_Environment_BEM680/images/image-ClosedCubeBME680.png b/assets/Arduino/lib-bme680-install.png similarity index 100% rename from examples/sensors/RAK1906_Environment_BEM680/images/image-ClosedCubeBME680.png rename to assets/Arduino/lib-bme680-install.png diff --git a/examples/sensors/RAK1906_Environment_BEM680/images/image-BSEC-BME680.png b/assets/Arduino/lib-bsec-install.png similarity index 100% rename from examples/sensors/RAK1906_Environment_BEM680/images/image-BSEC-BME680.png rename to assets/Arduino/lib-bsec-install.png diff --git a/examples/sensors/RAK1904_Accelerate_LIS3DH/Images/Library-list.png b/assets/Arduino/lib-lis3dh-install.png similarity index 100% rename from examples/sensors/RAK1904_Accelerate_LIS3DH/Images/Library-list.png rename to assets/Arduino/lib-lis3dh-install.png diff --git a/examples/sensors/RAK1902_Pressure_LPS22HB/res/2.png b/assets/Arduino/lib-lps22hb-install.png similarity index 100% rename from examples/sensors/RAK1902_Pressure_LPS22HB/res/2.png rename to assets/Arduino/lib-lps22hb-install.png diff --git a/examples/sensors/RAK1904_Accelerate_LIS3DH/Images/Sketch-Manage-Libraries.png b/assets/Arduino/lib-manager.png similarity index 100% rename from examples/sensors/RAK1904_Accelerate_LIS3DH/Images/Sketch-Manage-Libraries.png rename to assets/Arduino/lib-manager.png diff --git a/examples/solutions/Inteligence_Agriculture/assets/image-20200813115016466.png b/assets/Arduino/lib-modbus-install.png similarity index 100% rename from examples/solutions/Inteligence_Agriculture/assets/image-20200813115016466.png rename to assets/Arduino/lib-modbus-install.png diff --git a/examples/sensors/RAK4630_Battery_Level_Detect/images/image-nrf52-oled.png b/assets/Arduino/lib-oled-install.png similarity index 100% rename from examples/sensors/RAK4630_Battery_Level_Detect/images/image-nrf52-oled.png rename to assets/Arduino/lib-oled-install.png diff --git a/examples/sensors/RAK1903_Optical_OPT3001/res/2.png b/assets/Arduino/lib-opt3001-install.png similarity index 100% rename from examples/sensors/RAK1903_Optical_OPT3001/res/2.png rename to assets/Arduino/lib-opt3001-install.png diff --git a/examples/sensors/RAK5802_RS485/Images/Arduino_RS485.png b/assets/Arduino/lib-rs485-install.png similarity index 100% rename from examples/sensors/RAK5802_RS485/Images/Arduino_RS485.png rename to assets/Arduino/lib-rs485-install.png diff --git a/examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/res/2.png b/assets/Arduino/lib-sgp30-install.png similarity index 100% rename from examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/res/2.png rename to assets/Arduino/lib-sgp30-install.png diff --git a/examples/sensors/RAK1901_Temperature_Humidity_SHTC3/res/2.png b/assets/Arduino/lib-shtc3-install.png similarity index 100% rename from examples/sensors/RAK1901_Temperature_Humidity_SHTC3/res/2.png rename to assets/Arduino/lib-shtc3-install.png diff --git a/assets/Arduino/lib-sx12x-install.png b/assets/Arduino/lib-sx12x-install.png new file mode 100644 index 0000000..01b96f6 Binary files /dev/null and b/assets/Arduino/lib-sx12x-install.png differ diff --git a/examples/sensors/RAK1920_Grove_Color_TCS3472/res/2.png b/assets/Arduino/lib-tcs34725-install.png similarity index 100% rename from examples/sensors/RAK1920_Grove_Color_TCS3472/res/2.png rename to assets/Arduino/lib-tcs34725-install.png diff --git a/examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/res/2.png b/assets/Arduino/lib-tmp102-install.png similarity index 100% rename from examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/res/2.png rename to assets/Arduino/lib-tmp102-install.png diff --git a/examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-U8g2lib.png b/assets/Arduino/lib-u8g-install.png similarity index 100% rename from examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-U8g2lib.png rename to assets/Arduino/lib-u8g-install.png diff --git a/examples/communications/BLE/ble_uart/images/BLE-UART-Phone-1.jpg b/assets/Examples/ble-UART-Phone-1.jpg similarity index 100% rename from examples/communications/BLE/ble_uart/images/BLE-UART-Phone-1.jpg rename to assets/Examples/ble-UART-Phone-1.jpg diff --git a/examples/communications/BLE/ble_uart/images/BLE-UART-Phone-2.jpg b/assets/Examples/ble-UART-Phone-2.jpg similarity index 100% rename from examples/communications/BLE/ble_uart/images/BLE-UART-Phone-2.jpg rename to assets/Examples/ble-UART-Phone-2.jpg diff --git a/examples/communications/BLE/ble_uart/images/BLE-UART-Phone-3.jpg b/assets/Examples/ble-UART-Phone-3.jpg similarity index 100% rename from examples/communications/BLE/ble_uart/images/BLE-UART-Phone-3.jpg rename to assets/Examples/ble-UART-Phone-3.jpg diff --git a/examples/communications/BLE/ble_uart/images/BLE-UART-Phone-4.jpg b/assets/Examples/ble-UART-Phone-4.jpg similarity index 100% rename from examples/communications/BLE/ble_uart/images/BLE-UART-Phone-4.jpg rename to assets/Examples/ble-UART-Phone-4.jpg diff --git a/examples/communications/BLE/images/ble-graphic2.png b/assets/Examples/ble-graphic2.png similarity index 100% rename from examples/communications/BLE/images/ble-graphic2.png rename to assets/Examples/ble-graphic2.png diff --git a/examples/communications/BLE/ble_proximity_sensing/images/image-20200713143334302.png b/assets/Examples/ble-proximity.png similarity index 100% rename from examples/communications/BLE/ble_proximity_sensing/images/image-20200713143334302.png rename to assets/Examples/ble-proximity.png diff --git a/examples/communications/BLE/ble_ota_dfu/images/image-tool-box-home.png b/assets/Examples/ble_toolbox-1.png similarity index 100% rename from examples/communications/BLE/ble_ota_dfu/images/image-tool-box-home.png rename to assets/Examples/ble_toolbox-1.png diff --git a/examples/communications/BLE/ble_ota_dfu/images/image-select-file.png b/assets/Examples/ble_toolbox-2.png similarity index 100% rename from examples/communications/BLE/ble_ota_dfu/images/image-select-file.png rename to assets/Examples/ble_toolbox-2.png diff --git a/examples/communications/BLE/ble_ota_dfu/images/image-connect-ble.png b/assets/Examples/ble_toolbox-3.png similarity index 100% rename from examples/communications/BLE/ble_ota_dfu/images/image-connect-ble.png rename to assets/Examples/ble_toolbox-3.png diff --git a/examples/communications/BLE/ble_ota_dfu/images/image-do-ota.png b/assets/Examples/ble_toolbox-4.png similarity index 100% rename from examples/communications/BLE/ble_ota_dfu/images/image-do-ota.png rename to assets/Examples/ble_toolbox-4.png diff --git a/examples/communications/Cellular/res/3.png b/assets/Examples/cell-usb-usage.png similarity index 100% rename from examples/communications/Cellular/res/3.png rename to assets/Examples/cell-usb-usage.png diff --git a/examples/solutions/Soil_pH_Monitoring/Images/soil-ph.png b/assets/Examples/ex-ph-assy.png similarity index 100% rename from examples/solutions/Soil_pH_Monitoring/Images/soil-ph.png rename to assets/Examples/ex-ph-assy.png diff --git a/examples/solutions/Soil_Conductivity_Monitoring/Images/system.png b/assets/Examples/ex-soil-assy.png similarity index 100% rename from examples/solutions/Soil_Conductivity_Monitoring/Images/system.png rename to assets/Examples/ex-soil-assy.png diff --git a/examples/solutions/Soil_Conductivity_Monitoring/Images/Reg-map.png b/assets/Examples/ex-soil-regmap.png similarity index 100% rename from examples/solutions/Soil_Conductivity_Monitoring/Images/Reg-map.png rename to assets/Examples/ex-soil-regmap.png diff --git a/examples/solutions/Inteligence_Agriculture/Images/arch.png b/assets/Examples/exa-agri-arch.png similarity index 100% rename from examples/solutions/Inteligence_Agriculture/Images/arch.png rename to assets/Examples/exa-agri-arch.png diff --git a/examples/solutions/Inteligence_Agriculture/Images/system.png b/assets/Examples/exa-agri-solution.png similarity index 100% rename from examples/solutions/Inteligence_Agriculture/Images/system.png rename to assets/Examples/exa-agri-solution.png diff --git a/examples/sensors/RAK4630_Battery_Level_Detect/images/image-ble-scan.png b/assets/Examples/exa-batt-level-ble-1.png similarity index 100% rename from examples/sensors/RAK4630_Battery_Level_Detect/images/image-ble-scan.png rename to assets/Examples/exa-batt-level-ble-1.png diff --git a/examples/sensors/RAK4630_Battery_Level_Detect/images/image-battery-level-on-phone.png b/assets/Examples/exa-batt-level-ble-2.png similarity index 100% rename from examples/sensors/RAK4630_Battery_Level_Detect/images/image-battery-level-on-phone.png rename to assets/Examples/exa-batt-level-ble-2.png diff --git a/examples/sensors/RAK4630_Battery_Level_Detect/images/image-battery-level-on-oled.png b/assets/Examples/exa-batt-level.png similarity index 100% rename from examples/sensors/RAK4630_Battery_Level_Detect/images/image-battery-level-on-oled.png rename to assets/Examples/exa-batt-level.png diff --git a/examples/solutions/BLE_Gateway/images/image-20200713144806141.png b/assets/Examples/exa-ble-solution.png similarity index 100% rename from examples/solutions/BLE_Gateway/images/image-20200713144806141.png rename to assets/Examples/exa-ble-solution.png diff --git a/examples/sensors/RAK1906_Environment_BEM680/images/image-BME680-SPEC.png b/assets/Examples/exa-bme680-features.png similarity index 100% rename from examples/sensors/RAK1906_Environment_BEM680/images/image-BME680-SPEC.png rename to assets/Examples/exa-bme680-features.png diff --git a/examples/solutions/Environment_Monitoring/res/2.png b/assets/Examples/exa-env-mon-data.png similarity index 100% rename from examples/solutions/Environment_Monitoring/res/2.png rename to assets/Examples/exa-env-mon-data.png diff --git a/examples/solutions/Hydraulic_Pressure_Monitoring/images/image-test.png b/assets/Examples/exa-hydr-press-assy.png similarity index 100% rename from examples/solutions/Hydraulic_Pressure_Monitoring/images/image-test.png rename to assets/Examples/exa-hydr-press-assy.png diff --git a/examples/solutions/Hydraulic_Pressure_Monitoring/images/image-chirpstack.png b/assets/Examples/exa-hydr-press-data.png similarity index 100% rename from examples/solutions/Hydraulic_Pressure_Monitoring/images/image-chirpstack.png rename to assets/Examples/exa-hydr-press-data.png diff --git a/examples/solutions/Hydraulic_Pressure_Monitoring/images/image-solution.png b/assets/Examples/exa-hydr-press-system.png similarity index 100% rename from examples/solutions/Hydraulic_Pressure_Monitoring/images/image-solution.png rename to assets/Examples/exa-hydr-press-system.png diff --git a/examples/solutions/PAR_Monitoring/Images/system.png b/assets/Examples/exa-par-assy.png similarity index 100% rename from examples/solutions/PAR_Monitoring/Images/system.png rename to assets/Examples/exa-par-assy.png diff --git a/examples/solutions/PAR_Monitoring/Images/LoraWAN-Server-logs.png b/assets/Examples/exa-par-data.png similarity index 100% rename from examples/solutions/PAR_Monitoring/Images/LoraWAN-Server-logs.png rename to assets/Examples/exa-par-data.png diff --git a/examples/solutions/PAR_Monitoring/Images/Reg-map.png b/assets/Examples/exa-par-regmap.png similarity index 100% rename from examples/solutions/PAR_Monitoring/Images/Reg-map.png rename to assets/Examples/exa-par-regmap.png diff --git a/examples/solutions/PAR_Monitoring/Images/Arch.png b/assets/Examples/exa-par-solution.png similarity index 100% rename from examples/solutions/PAR_Monitoring/Images/Arch.png rename to assets/Examples/exa-par-solution.png diff --git a/examples/solutions/Soil_pH_Monitoring/Images/lora-server-logs.png b/assets/Examples/exa-ph-data.png similarity index 100% rename from examples/solutions/Soil_pH_Monitoring/Images/lora-server-logs.png rename to assets/Examples/exa-ph-data.png diff --git a/examples/solutions/Soil_pH_Monitoring/Images/reg-map.png b/assets/Examples/exa-ph-regmap.png similarity index 100% rename from examples/solutions/Soil_pH_Monitoring/Images/reg-map.png rename to assets/Examples/exa-ph-regmap.png diff --git a/examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/JumpingBall.jpg b/assets/Examples/exa-rak1921-jumping.jpg similarity index 100% rename from examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/JumpingBall.jpg rename to assets/Examples/exa-rak1921-jumping.jpg diff --git a/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/MovingLogo.jpg b/assets/Examples/exa-rak1921-logo.jpg similarity index 100% rename from examples/sensors/RAK1921_Moving_Logo_SSD1306/images/MovingLogo.jpg rename to assets/Examples/exa-rak1921-logo.jpg diff --git a/examples/sensors/RAK1921_OLED_SSD1306/images/image-bme680-data.png b/assets/Examples/exa-rak1921-temp.png similarity index 100% rename from examples/sensors/RAK1921_OLED_SSD1306/images/image-bme680-data.png rename to assets/Examples/exa-rak1921-temp.png diff --git a/examples/sensors/RAK5801_4-20mA/Images/2-wire.png b/assets/Examples/exa-rak5801-2-wire.png similarity index 100% rename from examples/sensors/RAK5801_4-20mA/Images/2-wire.png rename to assets/Examples/exa-rak5801-2-wire.png diff --git a/examples/sensors/RAK5801_4-20mA/Images/3-wire.png b/assets/Examples/exa-rak5801-3-wire.png similarity index 100% rename from examples/sensors/RAK5801_4-20mA/Images/3-wire.png rename to assets/Examples/exa-rak5801-3-wire.png diff --git a/examples/sensors/RAK5801_4-20mA/Images/4-wire.png b/assets/Examples/exa-rak5801-4-wire.png similarity index 100% rename from examples/sensors/RAK5801_4-20mA/Images/4-wire.png rename to assets/Examples/exa-rak5801-4-wire.png diff --git a/examples/sensors/RAK5801_4-20mA/Images/4-20_mA_standard_typical_connection_diagram.png b/assets/Examples/exa-rak5801-standard4-20_mA_standard_typical_connection_diagram.png similarity index 100% rename from examples/sensors/RAK5801_4-20mA/Images/4-20_mA_standard_typical_connection_diagram.png rename to assets/Examples/exa-rak5801-standard4-20_mA_standard_typical_connection_diagram.png diff --git a/examples/solutions/Soil_Conductivity_Monitoring/Images/LoraWAN-Server-logs.png b/assets/Examples/exa-soil-data.png similarity index 100% rename from examples/solutions/Soil_Conductivity_Monitoring/Images/LoraWAN-Server-logs.png rename to assets/Examples/exa-soil-data.png diff --git a/examples/solutions/GPS_Tracker/res/4.png b/assets/Examples/exa-tracker-data.png similarity index 100% rename from examples/solutions/GPS_Tracker/res/4.png rename to assets/Examples/exa-tracker-data.png diff --git a/examples/solutions/Water_Level_Monitoring/images/image-test.png b/assets/Examples/exa-waterlevel-assy.png similarity index 100% rename from examples/solutions/Water_Level_Monitoring/images/image-test.png rename to assets/Examples/exa-waterlevel-assy.png diff --git a/examples/solutions/Water_Level_Monitoring/images/image-chirpstack.png b/assets/Examples/exa-waterlevel-data.png similarity index 100% rename from examples/solutions/Water_Level_Monitoring/images/image-chirpstack.png rename to assets/Examples/exa-waterlevel-data.png diff --git a/examples/solutions/Water_Level_Monitoring/images/image-solution.png b/assets/Examples/exa-waterlevel-solution.png similarity index 100% rename from examples/solutions/Water_Level_Monitoring/images/image-solution.png rename to assets/Examples/exa-waterlevel-solution.png diff --git a/examples/solutions/Weather_Monitoring/res/6.png b/assets/Examples/exa-weather-data.png similarity index 100% rename from examples/solutions/Weather_Monitoring/res/6.png rename to assets/Examples/exa-weather-data.png diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/app-image.png b/assets/Examples/exa-wind-assy.png similarity index 100% rename from examples/solutions/Wind_Speed_Monitoring/Images/app-image.png rename to assets/Examples/exa-wind-assy.png diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/LoraServerLogs.png b/assets/Examples/exa-wind-data.png similarity index 100% rename from examples/solutions/Wind_Speed_Monitoring/Images/LoraServerLogs.png rename to assets/Examples/exa-wind-data.png diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/RegMap.png b/assets/Examples/exa-wind-regmap.png similarity index 100% rename from examples/solutions/Wind_Speed_Monitoring/Images/RegMap.png rename to assets/Examples/exa-wind-regmap.png diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/WindSpeedSensor.png b/assets/Examples/exa-wind-sensor.png similarity index 100% rename from examples/solutions/Wind_Speed_Monitoring/Images/WindSpeedSensor.png rename to assets/Examples/exa-wind-sensor.png diff --git a/examples/communications/LoRa/LoRaWAN/res/4.png b/assets/Examples/lora-gateway-1.png similarity index 100% rename from examples/communications/LoRa/LoRaWAN/res/4.png rename to assets/Examples/lora-gateway-1.png diff --git a/examples/communications/LoRa/LoRaWAN/res/9.png b/assets/Examples/lora-gateway-3.png similarity index 100% rename from examples/communications/LoRa/LoRaWAN/res/9.png rename to assets/Examples/lora-gateway-3.png diff --git a/examples/communications/LoRa/LoRaWAN/res/8.png b/assets/Examples/lora-otaa-log.png similarity index 100% rename from examples/communications/LoRa/LoRaWAN/res/8.png rename to assets/Examples/lora-otaa-log.png diff --git a/examples/communications/LoRa/LoRaP2P/res/30.png b/assets/Examples/lora-p2p-mode.png similarity index 100% rename from examples/communications/LoRa/LoRaP2P/res/30.png rename to assets/Examples/lora-p2p-mode.png diff --git a/examples/communications/LoRa/LoRaP2P/res/20.jpg b/assets/Examples/lora-p2p-rx-data.jpg similarity index 100% rename from examples/communications/LoRa/LoRaP2P/res/20.jpg rename to assets/Examples/lora-p2p-rx-data.jpg diff --git a/examples/communications/LoRa/LoRaP2P/res/18.png b/assets/Examples/lora-p2p-settings.png similarity index 100% rename from examples/communications/LoRa/LoRaP2P/res/18.png rename to assets/Examples/lora-p2p-settings.png diff --git a/examples/communications/LoRa/LoRaP2P/res/19.png b/assets/Examples/lora-p2p-tx-data.png similarity index 100% rename from examples/communications/LoRa/LoRaP2P/res/19.png rename to assets/Examples/lora-p2p-tx-data.png diff --git a/examples/communications/WiFi/images/image-20200713154129867.png b/assets/Examples/wifi-at-command.png similarity index 100% rename from examples/communications/WiFi/images/image-20200713154129867.png rename to assets/Examples/wifi-at-command.png diff --git a/examples/communications/LoRa/res/1.png b/assets/Examples/wifi-lora-net.png similarity index 100% rename from examples/communications/LoRa/res/1.png rename to assets/Examples/wifi-lora-net.png diff --git a/PlatformIO/assets/pio-flash.jpg b/assets/PlatformIO/pio-flash.jpg similarity index 100% rename from PlatformIO/assets/pio-flash.jpg rename to assets/PlatformIO/pio-flash.jpg diff --git a/PlatformIO/assets/image-20200722111241582.png b/assets/PlatformIO/pio_compile_1.png similarity index 100% rename from PlatformIO/assets/image-20200722111241582.png rename to assets/PlatformIO/pio_compile_1.png diff --git a/PlatformIO/assets/image-20200722112932981.png b/assets/PlatformIO/pio_compile_2.png similarity index 100% rename from PlatformIO/assets/image-20200722112932981.png rename to assets/PlatformIO/pio_compile_2.png diff --git a/PlatformIO/assets/image-20200722113100736.png b/assets/PlatformIO/pio_compile_3.png similarity index 100% rename from PlatformIO/assets/image-20200722113100736.png rename to assets/PlatformIO/pio_compile_3.png diff --git a/PlatformIO/assets/image-20200722113244435.png b/assets/PlatformIO/pio_compile_4.png similarity index 100% rename from PlatformIO/assets/image-20200722113244435.png rename to assets/PlatformIO/pio_compile_4.png diff --git a/PlatformIO/assets/image-20200722113305159.png b/assets/PlatformIO/pio_compile_5.png similarity index 100% rename from PlatformIO/assets/image-20200722113305159.png rename to assets/PlatformIO/pio_compile_5.png diff --git a/assets/PlatformIO/pio_compile_6.png b/assets/PlatformIO/pio_compile_6.png new file mode 100644 index 0000000..8558329 Binary files /dev/null and b/assets/PlatformIO/pio_compile_6.png differ diff --git a/PlatformIO/assets/image-20200722100737565.png b/assets/PlatformIO/pio_install_pio_1.png similarity index 100% rename from PlatformIO/assets/image-20200722100737565.png rename to assets/PlatformIO/pio_install_pio_1.png diff --git a/PlatformIO/assets/image-20200722102908384.png b/assets/PlatformIO/pio_install_platform_1.png similarity index 100% rename from PlatformIO/assets/image-20200722102908384.png rename to assets/PlatformIO/pio_install_platform_1.png diff --git a/PlatformIO/assets/image-20200722103130747.png b/assets/PlatformIO/pio_install_platform_2.png similarity index 100% rename from PlatformIO/assets/image-20200722103130747.png rename to assets/PlatformIO/pio_install_platform_2.png diff --git a/PlatformIO/assets/image-20200722103232366.png b/assets/PlatformIO/pio_install_platform_3.png similarity index 100% rename from PlatformIO/assets/image-20200722103232366.png rename to assets/PlatformIO/pio_install_platform_3.png diff --git a/PlatformIO/assets/image-20200722104754712.png b/assets/PlatformIO/pio_install_platform_4.png similarity index 100% rename from PlatformIO/assets/image-20200722104754712.png rename to assets/PlatformIO/pio_install_platform_4.png diff --git a/PlatformIO/assets/image-20200722104925274.png b/assets/PlatformIO/pio_install_platform_5.png similarity index 100% rename from PlatformIO/assets/image-20200722104925274.png rename to assets/PlatformIO/pio_install_platform_5.png diff --git a/PlatformIO/assets/image-20200722105421895.png b/assets/PlatformIO/pio_install_platform_6.png similarity index 100% rename from PlatformIO/assets/image-20200722105421895.png rename to assets/PlatformIO/pio_install_platform_6.png diff --git a/PlatformIO/assets/image-20200722101053523.png b/assets/PlatformIO/pio_open_pio_home.png similarity index 100% rename from PlatformIO/assets/image-20200722101053523.png rename to assets/PlatformIO/pio_open_pio_home.png diff --git a/bootloader/res/50.png b/assets/bootloader/bootloader-connection.png similarity index 100% rename from bootloader/res/50.png rename to assets/bootloader/bootloader-connection.png diff --git a/bootloader/res/60.png b/assets/bootloader/bootloader-segger.png similarity index 100% rename from bootloader/res/60.png rename to assets/bootloader/bootloader-segger.png diff --git a/assets/repo/RAK4631.png b/assets/repo/RAK4631.png new file mode 100644 index 0000000..7122bb8 Binary files /dev/null and b/assets/repo/RAK4631.png differ diff --git a/doc/Quick_Start/assets/RAK5005-connect-RAK4631.PNG b/assets/repo/RAK5005-connect-RAK4631.PNG similarity index 100% rename from doc/Quick_Start/assets/RAK5005-connect-RAK4631.PNG rename to assets/repo/RAK5005-connect-RAK4631.PNG diff --git a/examples/sensors/RAK5801_4-20mA/Images/RAK5801_2-wire.png b/assets/repo/RAK5801_2-wire.png similarity index 100% rename from examples/sensors/RAK5801_4-20mA/Images/RAK5801_2-wire.png rename to assets/repo/RAK5801_2-wire.png diff --git a/examples/sensors/RAK5801_4-20mA/Images/RAK5801_3-wire.png b/assets/repo/RAK5801_3-wire.png similarity index 100% rename from examples/sensors/RAK5801_4-20mA/Images/RAK5801_3-wire.png rename to assets/repo/RAK5801_3-wire.png diff --git a/examples/sensors/RAK5801_4-20mA/Images/RAK5801_4-wire.png b/assets/repo/RAK5801_4-wire.png similarity index 100% rename from examples/sensors/RAK5801_4-20mA/Images/RAK5801_4-wire.png rename to assets/repo/RAK5801_4-wire.png diff --git a/doc/Quick_Start/assets/RAKBox-B2.png b/assets/repo/RAKBox-B2.png similarity index 100% rename from doc/Quick_Start/assets/RAKBox-B2.png rename to assets/repo/RAKBox-B2.png diff --git a/doc/Quick_Start/assets/RAKBox-B3.jpg b/assets/repo/RAKBox-B3.jpg similarity index 100% rename from doc/Quick_Start/assets/RAKBox-B3.jpg rename to assets/repo/RAKBox-B3.jpg diff --git a/doc/Quick_Start/assets/RAKBox-B4.jpg b/assets/repo/RAKBox-B4.jpg similarity index 100% rename from doc/Quick_Start/assets/RAKBox-B4.jpg rename to assets/repo/RAKBox-B4.jpg diff --git a/doc/Quick_Start/assets/RAKBox-B5.jpg b/assets/repo/RAKBox-B5.jpg similarity index 100% rename from doc/Quick_Start/assets/RAKBox-B5.jpg rename to assets/repo/RAKBox-B5.jpg diff --git a/doc/Quick_Start/assets/WisBlock-Assembly.png b/assets/repo/WisBlock-Assembly.png similarity index 100% rename from doc/Quick_Start/assets/WisBlock-Assembly.png rename to assets/repo/WisBlock-Assembly.png diff --git a/doc/Quick_Start/assets/image-20200702193814577.png b/assets/repo/battery-connect.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702193814577.png rename to assets/repo/battery-connect.png diff --git a/doc/Quick_Start/assets/image-20200703171652793.png b/assets/repo/ble-antenna.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703171652793.png rename to assets/repo/ble-antenna.png diff --git a/examples/communications/BLE/ble_proximity_sensing/images/image-20200713093804742.png b/assets/repo/ble-rak4631-proxy.png similarity index 100% rename from examples/communications/BLE/ble_proximity_sensing/images/image-20200713093804742.png rename to assets/repo/ble-rak4631-proxy.png diff --git a/examples/communications/BLE/ble_ota_dfu/images/image-assemble.png b/assets/repo/ble-rak4631-rak5005-o.png similarity index 100% rename from examples/communications/BLE/ble_ota_dfu/images/image-assemble.png rename to assets/repo/ble-rak4631-rak5005-o.png diff --git a/examples/communications/Cellular/res/1.png b/assets/repo/cell-rak4631-rak5860.png similarity index 100% rename from examples/communications/Cellular/res/1.png rename to assets/repo/cell-rak4631-rak5860.png diff --git a/examples/sensors/RAK4630_Battery_Level_Detect/images/image-harware.png b/assets/repo/exa-battlevel-assy.png similarity index 100% rename from examples/sensors/RAK4630_Battery_Level_Detect/images/image-harware.png rename to assets/repo/exa-battlevel-assy.png diff --git a/examples/solutions/BLE_Gateway/images/image-20200713104134045.png b/assets/repo/exa-ble-gateway.png similarity index 100% rename from examples/solutions/BLE_Gateway/images/image-20200713104134045.png rename to assets/repo/exa-ble-gateway.png diff --git a/examples/solutions/BLE_Gateway/images/image-20200713104859416.png b/assets/repo/exa-ble-rak1906-assy.png similarity index 100% rename from examples/solutions/BLE_Gateway/images/image-20200713104859416.png rename to assets/repo/exa-ble-rak1906-assy.png diff --git a/examples/solutions/Hydraulic_Pressure_Monitoring/images/image-assemble.png b/assets/repo/exa-hydr-press-assy.png similarity index 100% rename from examples/solutions/Hydraulic_Pressure_Monitoring/images/image-assemble.png rename to assets/repo/exa-hydr-press-assy.png diff --git a/examples/solutions/PAR_Monitoring/Images/assembly.png b/assets/repo/exa-par-assy.png similarity index 100% rename from examples/solutions/PAR_Monitoring/Images/assembly.png rename to assets/repo/exa-par-assy.png diff --git a/examples/sensors/RAK1901_Temperature_Humidity_SHTC3/res/3.png b/assets/repo/exa-rak1901-assy.png similarity index 100% rename from examples/sensors/RAK1901_Temperature_Humidity_SHTC3/res/3.png rename to assets/repo/exa-rak1901-assy.png diff --git a/examples/sensors/RAK1902_Pressure_LPS22HB/res/3.png b/assets/repo/exa-rak1902-assy.png similarity index 100% rename from examples/sensors/RAK1902_Pressure_LPS22HB/res/3.png rename to assets/repo/exa-rak1902-assy.png diff --git a/examples/sensors/RAK1903_Optical_OPT3001/res/3.png b/assets/repo/exa-rak1903-assy.png similarity index 100% rename from examples/sensors/RAK1903_Optical_OPT3001/res/3.png rename to assets/repo/exa-rak1903-assy.png diff --git a/examples/sensors/RAK1906_Environment_BEM680/images/image-harware.png b/assets/repo/exa-rak1906-assy.png similarity index 100% rename from examples/sensors/RAK1906_Environment_BEM680/images/image-harware.png rename to assets/repo/exa-rak1906-assy.png diff --git a/examples/sensors/RAK1920_Grove_Color_TCS3472/res/1.png b/assets/repo/exa-rak1920-assy-color.png similarity index 100% rename from examples/sensors/RAK1920_Grove_Color_TCS3472/res/1.png rename to assets/repo/exa-rak1920-assy-color.png diff --git a/examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/res/1.png b/assets/repo/exa-rak1920-assy-gas.png similarity index 100% rename from examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/res/1.png rename to assets/repo/exa-rak1920-assy-gas.png diff --git a/examples/sensors/RAK1920_Grove_PIR_AS312/res/1.png b/assets/repo/exa-rak1920-assy-sens.png similarity index 100% rename from examples/sensors/RAK1920_Grove_PIR_AS312/res/1.png rename to assets/repo/exa-rak1920-assy-sens.png diff --git a/examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/res/1.png b/assets/repo/exa-rak1920-assy-temp.png similarity index 100% rename from examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/res/1.png rename to assets/repo/exa-rak1920-assy-temp.png diff --git a/examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-RAK1906-assemble.png b/assets/repo/exa-rak1921-assy-2.png similarity index 100% rename from examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-RAK1906-assemble.png rename to assets/repo/exa-rak1921-assy-2.png diff --git a/examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-harware.png b/assets/repo/exa-rak1921-assy.png similarity index 100% rename from examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-harware.png rename to assets/repo/exa-rak1921-assy.png diff --git a/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-RAK1906-assemble.png b/assets/repo/exa-rak1921-rak1906-assy-2.png similarity index 100% rename from examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-RAK1906-assemble.png rename to assets/repo/exa-rak1921-rak1906-assy-2.png diff --git a/examples/sensors/RAK1921_OLED_SSD1306/images/image-harware.png b/assets/repo/exa-rak1921-rak1906-assy.png similarity index 100% rename from examples/sensors/RAK1921_OLED_SSD1306/images/image-harware.png rename to assets/repo/exa-rak1921-rak1906-assy.png diff --git a/examples/sensors/RAK5802_RS485/Images/cd.png b/assets/repo/exa-rak5802.png similarity index 100% rename from examples/sensors/RAK5802_RS485/Images/cd.png rename to assets/repo/exa-rak5802.png diff --git a/examples/sensors/RAK5811_0-5V/Images/RAK5811_Front_01.png b/assets/repo/exa-rak5811-wire.png similarity index 100% rename from examples/sensors/RAK5811_0-5V/Images/RAK5811_Front_01.png rename to assets/repo/exa-rak5811-wire.png diff --git a/examples/solutions/GPS_Tracker/res/1.png b/assets/repo/exa-tracker-assy.png similarity index 100% rename from examples/solutions/GPS_Tracker/res/1.png rename to assets/repo/exa-tracker-assy.png diff --git a/examples/solutions/Water_Level_Monitoring/images/image-assemble.png b/assets/repo/exa-waterlevel-assy.png similarity index 100% rename from examples/solutions/Water_Level_Monitoring/images/image-assemble.png rename to assets/repo/exa-waterlevel-assy.png diff --git a/examples/solutions/Weather_Monitoring/res/1.png b/assets/repo/exa-weather-assy.png similarity index 100% rename from examples/solutions/Weather_Monitoring/res/1.png rename to assets/repo/exa-weather-assy.png diff --git a/doc/Quick_Start/assets/image-20200703171833874.png b/assets/repo/gps-antenne.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703171833874.png rename to assets/repo/gps-antenne.png diff --git a/doc/Quick_Start/assets/image-20200703171725507.png b/assets/repo/lora-antenna.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703171725507.png rename to assets/repo/lora-antenna.png diff --git a/doc/Quick_Start/assets/image-20200807184458951.png b/assets/repo/rak1901-top.png similarity index 100% rename from doc/Quick_Start/assets/image-20200807184458951.png rename to assets/repo/rak1901-top.png diff --git a/doc/Quick_Start/assets/image-20200807184635631.png b/assets/repo/rak1902-top.png similarity index 100% rename from doc/Quick_Start/assets/image-20200807184635631.png rename to assets/repo/rak1902-top.png diff --git a/doc/Quick_Start/assets/image-20200807184755876.png b/assets/repo/rak1903-top.png similarity index 100% rename from doc/Quick_Start/assets/image-20200807184755876.png rename to assets/repo/rak1903-top.png diff --git a/doc/Quick_Start/assets/image-20200807184841974.png b/assets/repo/rak1904-top.png similarity index 100% rename from doc/Quick_Start/assets/image-20200807184841974.png rename to assets/repo/rak1904-top.png diff --git a/doc/Quick_Start/assets/image-20200807184924933.png b/assets/repo/rak1906-top.png similarity index 100% rename from doc/Quick_Start/assets/image-20200807184924933.png rename to assets/repo/rak1906-top.png diff --git a/doc/Quick_Start/assets/image-20200702110638518.png b/assets/repo/rak190x-bottom.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702110638518.png rename to assets/repo/rak190x-bottom.png diff --git a/doc/Quick_Start/assets/image-20200702160714031.png b/assets/repo/rak1910-assembly.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702160714031.png rename to assets/repo/rak1910-assembly.png diff --git a/doc/Quick_Start/assets/RAK1910-1.PNG b/assets/repo/rak1910-bottom.png similarity index 100% rename from doc/Quick_Start/assets/RAK1910-1.PNG rename to assets/repo/rak1910-bottom.png diff --git a/doc/Quick_Start/assets/RAK1910-2.PNG b/assets/repo/rak1910-top.png similarity index 100% rename from doc/Quick_Start/assets/RAK1910-2.PNG rename to assets/repo/rak1910-top.png diff --git a/doc/Quick_Start/assets/RAK1920.PNG b/assets/repo/rak1920.png similarity index 100% rename from doc/Quick_Start/assets/RAK1920.PNG rename to assets/repo/rak1920.png diff --git a/doc/Quick_Start/assets/image-20200813110158840.png b/assets/repo/rak1921.png similarity index 100% rename from doc/Quick_Start/assets/image-20200813110158840.png rename to assets/repo/rak1921.png diff --git a/doc/Quick_Start/assets/RAK2305-1.PNG b/assets/repo/rak2305-bottom.png similarity index 100% rename from doc/Quick_Start/assets/RAK2305-1.PNG rename to assets/repo/rak2305-bottom.png diff --git a/doc/Quick_Start/assets/RAK2305-2.PNG b/assets/repo/rak2305-top.png similarity index 100% rename from doc/Quick_Start/assets/RAK2305-2.PNG rename to assets/repo/rak2305-top.png diff --git a/doc/Quick_Start/assets/image-20200702161818627.png b/assets/repo/rak2307-assembly.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702161818627.png rename to assets/repo/rak2307-assembly.png diff --git a/doc/Quick_Start/assets/image-20200702164625941.png b/assets/repo/rak4631-connectors.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702164625941.png rename to assets/repo/rak4631-connectors.png diff --git a/doc/Quick_Start/assets/image-20200630170056520.png b/assets/repo/rak5005-o-top-tilt.png similarity index 100% rename from doc/Quick_Start/assets/image-20200630170056520.png rename to assets/repo/rak5005-o-top-tilt.png diff --git a/doc/Quick_Start/assets/RAK5801.PNG b/assets/repo/rak5801.png similarity index 100% rename from doc/Quick_Start/assets/RAK5801.PNG rename to assets/repo/rak5801.png diff --git a/doc/Quick_Start/assets/RAK5802.PNG b/assets/repo/rak5802.png similarity index 100% rename from doc/Quick_Start/assets/RAK5802.PNG rename to assets/repo/rak5802.png diff --git a/doc/Quick_Start/assets/RAK5804.PNG b/assets/repo/rak5804.png similarity index 100% rename from doc/Quick_Start/assets/RAK5804.PNG rename to assets/repo/rak5804.png diff --git a/doc/Quick_Start/assets/RAK5811.PNG b/assets/repo/rak5811.png similarity index 100% rename from doc/Quick_Start/assets/RAK5811.PNG rename to assets/repo/rak5811.png diff --git a/doc/Quick_Start/assets/image-20200702162227112.png b/assets/repo/rak5860-assembly.png similarity index 100% rename from doc/Quick_Start/assets/image-20200702162227112.png rename to assets/repo/rak5860-assembly.png diff --git a/doc/Quick_Start/assets/RAK5860.PNG b/assets/repo/rak5860-bottom.png similarity index 100% rename from doc/Quick_Start/assets/RAK5860.PNG rename to assets/repo/rak5860-bottom.png diff --git a/doc/Quick_Start/assets/RAK5860-1.PNG b/assets/repo/rak5860-top.png similarity index 100% rename from doc/Quick_Start/assets/RAK5860-1.PNG rename to assets/repo/rak5860-top.png diff --git a/doc/Quick_Start/assets/image-20200703171106240.png b/assets/repo/solar-connect.png similarity index 100% rename from doc/Quick_Start/assets/image-20200703171106240.png rename to assets/repo/solar-connect.png diff --git a/examples/communications/WiFi/images/image-20200710095032362.png b/assets/repo/wifi-rak4631-rak2305-1.png similarity index 100% rename from examples/communications/WiFi/images/image-20200710095032362.png rename to assets/repo/wifi-rak4631-rak2305-1.png diff --git a/examples/communications/WiFi/images/image-20200710095320009.png b/assets/repo/wifi-rak4631-rak2305-2.png similarity index 100% rename from examples/communications/WiFi/images/image-20200710095320009.png rename to assets/repo/wifi-rak4631-rak2305-2.png diff --git a/doc/Quick_Start/assets/image-20200630171353822.png b/assets/repo/wiscore-bottom.png similarity index 100% rename from doc/Quick_Start/assets/image-20200630171353822.png rename to assets/repo/wiscore-bottom.png diff --git a/bootloader/README.md b/bootloader/README.md index 514cabd..3ab3bc5 100644 --- a/bootloader/README.md +++ b/bootloader/README.md @@ -19,7 +19,7 @@ To Download the bootloader, below are needed The RAK4630 is a core which can be connected to CPU SLOT of Wisblock via pin to pin groove like below. Besides, it provides SWD port to download via Jlink. Two antenna (BLE and LoRa). Screws of four corners help stabilize connection with Wisblock. -![2](res/2-1594625139757.png) +![rak4631-connectors](../assets/repo/rak4631-connectors.png) @@ -34,7 +34,7 @@ According to your version of J-Link, install the Segger software from https://ww Connect the swd port to PC via Jlink like below -![50](res/50.png) +![bootloader-connection](../assets/bootloader/bootloader-connection.png) ### 3.3 Download @@ -47,4 +47,4 @@ Steps as below: - Drag the HEX to the J-Flash - Select Target->Production Programming. -![60](res/60.png) \ No newline at end of file +![bootloader-segger](../assets/bootloader/bootloader-segger.png) \ No newline at end of file diff --git a/bootloader/res/2-1594625139757.png b/bootloader/res/2-1594625139757.png deleted file mode 100644 index cde21b8..0000000 Binary files a/bootloader/res/2-1594625139757.png and /dev/null differ diff --git a/bootloader/res/2.png b/bootloader/res/2.png deleted file mode 100644 index cde21b8..0000000 Binary files a/bootloader/res/2.png and /dev/null differ diff --git a/bootloader/res/40.jpg b/bootloader/res/40.jpg deleted file mode 100644 index 6785595..0000000 Binary files a/bootloader/res/40.jpg and /dev/null differ diff --git a/doc/Quick_Start/README.md b/doc/Quick_Start/README.md index cfa7174..40f116b 100644 --- a/doc/Quick_Start/README.md +++ b/doc/Quick_Start/README.md @@ -1,6 +1,6 @@ # WisBlock Quick Start Guide -
image-20200630170056520
+
WisBlock-Assembly
## Content - [Introduction](#introduction) @@ -56,9 +56,9 @@ Please read the following items carefully so that WisBlock can be used safely. RAK5005-O is the WisBlock Base board which can connect with the core board and other sensor boards through some slots. RAK5005-O has an USB interface which connect with the core MCU's USB pins so that you can use Arduino IDE to upload and debug it directly. -
image-20200702164625941
+
rak5005-o-top-tilt
-Please note: as you see, there are 6 slots on RAK5005-O, "CPU SLOT" is used for the core board which has the main MCU, "IO SLOT" is used for IO extension, for example, RS485 board, 4~20mA/0~5V board, Wi-Fi board, Cellular board. "SLOT A", "SLOT B", "SLOT C", and "SLOT D" are used to connect with I2C board, while "SLOT A" can be used for GPS board too. +Please note: as you see, there are 6 slots on RAK5005-O, "CPU SLOT" is used for the core board which has the main MCU, "IO SLOT" is used for IO extension, for example, RS485 board, 4-20mA/0-5V board, Wi-Fi board, Cellular board. "SLOT A", "SLOT B", "SLOT C", and "SLOT D" are used to connect with I2C board, while "SLOT A" can be used for GPS board too. You can have a look at the datasheet for more information: @@ -78,15 +78,15 @@ The RAK5005-O board offers several GPIO's on solder pads or on the WisBlock Sens RAK4631 is the WisBlock Core board, because the MCU stay on this board. -
image-20200702164625941
+
RAK4631
-
image-20200702164625941
+
rak4631-connectors
RAK4631 consists of a nRF52840 MCU and a SX1262 LoRa® chip mainly. The final Arduino code will be uploaded into nRF52840 actually. This core board supports BLE and LoRa® features. You can connect it with RAK5005-O base board with slot, and program it through the USB interface on RAK5005-O through Arduino IDE. https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/Datasheet/#overview -
image-20200702164625941
+
RAK5005-connect-RAK4631
### WisBlock Sensor Boards @@ -95,7 +95,7 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/Datasheet/#over RAK1901 is a Temperature & Humidity sensor board with an I2C interface, which means it can be connected with RAK5005-O through the I2C slot (SLOT A/B/C/D). -
image-20200630170056520 image-20200807184458951
+
rak1901-top rak190x-bottom
More information about RAK1901, please have a look at the following link: @@ -107,7 +107,7 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1901/Overview/#produ RAK1902 is a pressure sensor board with an I2C interface, which means it can be connected with RAK5005-O through the I2C slot (SLOT A/B/C/D). -
image-20200630170056520 image-20200807184458951
+
rak1902-top rak190x-bottom
More information about RAK1902, please have a look at the following link: @@ -119,8 +119,8 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1902/Overview/#produ RAK1903 is an optical sensor board with an I2C interface, which means it can be connected with RAK5005-O through the I2C slot (SLOT A/B/C/D). +
rak1903-top rak190x-bottom.png
-
image-20200630170056520 image-20200807184458951
More information about RAK1903, please have a look at the following link: https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1903/Overview/#product-description @@ -131,7 +131,7 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1903/Overview/#produ RAK1904 is a 3-axis acceleration sensor board with an I2C interface, which means it can be connected with RAK5005-O through the I2C slot (SLOT A/B/C/D). -
image-20200630170056520 image-20200807184458951
+
rak1904-top rak190x-bottom
More information about RAK1904, please have a look at the following link: @@ -143,7 +143,7 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1904/Overview/ RAK1906 is an environment sensor board with I2C interface, which means it can be connected with RAK5005-O through the I2C slot (SLOT A/B/C/D). -
image-20200630170056520 image-20200807184458951
+
rak1906-top rak190x-bottom
More information about RAK1906, please have a look at the following link: @@ -155,10 +155,9 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1906/Overview/#produ RAK1910 is a GPS board with UART interface, which means it can only be connected with RAK5005-O through SLOT A. +
rak1910-top.png rak1910-bottom
-
image-20200630170056520 image-20200807184458951
- -
image-20200630170056520
+
rak1910-assembly
More information about RAK1910, please have a look at the following link: @@ -172,9 +171,9 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1910/Overview/#produ RAK2305 is a WiFi board which is ESP32 module actually, and it can only be connected with RAK5005-O through the IO SLOT. -
image-20200630170056520 image-20200807184458951
+
rak2305-top rak2305-bottom
-
image-20200630170056520
+
rak2307-assembly
More information about RAK2305, please have a look at the following link: @@ -186,9 +185,9 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK2305/Overview/#produ RAK5860 is a cellular board which uses Quectel BG77 module actually, and it can only be connected with RAK5005-O through IO SLOT. -
image-20200630170056520 image-20200807184458951
+
rak5860-top rak5860-bottom
-
image-20200630170056520
+
rak5860-assembly
More information about RAK5860, please have a look at the following link: @@ -200,7 +199,7 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK5860/Overview/#produ RAK5801 is an IO board which can connect with any 4~20mA sensors. This board can only be connected with RAK5005-O through IO SLOT. -
image-20200630170056520
+
rak5801
More information about RAK5801, please have a look at the following link: @@ -212,7 +211,7 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK5801/Overview/#produ RAK5811 is an IO board which can connect with any 0~5V sensors. This board can only be connected with RAK5005-O through IO SLOT. -
image-20200630170056520
+
rak5811
More information about RAK5811, please have a look at the following link: @@ -224,7 +223,7 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK5811/Overview/#produ RAK5802 is an IO board which can connect with any RS485 sensors. This board can only be connected with RAK5005-O through IO SLOT. -
image-20200630170056520
+
rak5802.png
More information about RAK5802, please have a look at the following link: @@ -236,7 +235,7 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK5802/Overview/#produ RAK5804 is an IO extension board which is used to extent more IO interface, and it can only be connected with RAK5005-O through IO SLOT. -
image-20200630170056520
+
rak5804
More information about RAK5804, please have a look at the following link: @@ -248,7 +247,7 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK5804/Overview/#produ RAK1920 is a sensor conversion board which can connect with any Microbus, Grove, or Qwiic sensors. This board can only be connected with RAK5005-O through IO SLOT. -
image-20200630170056520
+
rak1920
More information about RAK1920, please have a look at the following link: @@ -260,7 +259,7 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1920/Overview/#produ RAK1921 is an OLED board which uses SSD1306(128*64, I2C) actually. -
image-20200630170056520
+
rak1921
https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1921/Overview/#product-description @@ -270,17 +269,17 @@ https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1921/Overview/#produ #### BLE antenna: -
image-20200630170056520
+
ble-antenna
#### LoRa® antenna: -
image-20200630170056520
+
lora-antenna
#### GPS antenna: -
image-20200630170056520
+
gps-antenne
-Just connect them with RAK4631 or RAK1910. +Just connect them to the IPEX connector of the RAK4631 or RAK1910. @@ -288,7 +287,7 @@ Just connect them with RAK4631 or RAK1910. Please use the battery which RAK suggest, and connect the battery with RAK5005-O as follow: -
image-20200630170056520
+
battery-connect
# When connecting the battery make sure the polarity is correct. Not all connectors are wired the same. # Ground pole should be close to the PCB boarder. @@ -311,7 +310,7 @@ Battery specification You can connect the solar panel with RAK5005-O as follow: -
image-20200630170056520
+
solar-connect
@@ -328,8 +327,8 @@ Solar panel specification ### Enclosures | Outdoor | Indoor | | :-: | :-: | -| B2 | Modules | -| Modules | Modules | +| B2 | Modules | +| Modules | Modules | ## Arduino IDE BSP Installation @@ -344,7 +343,7 @@ https://www.arduino.cc/en/Main/Software You can see the current version of Arduino IDE is V1.8.13, and there are several versions for Windows, Linux, and Mac OS X. -![image-20200703115901208](assets/image-20200703115901208.png) +![ard-install-1.png](../../assets/Arduino/ard-install-1.png) Just download the correct version of Arduino IDE from here. @@ -354,23 +353,23 @@ Just download the correct version of Arduino IDE from here. Now, let's install the Arduino IDE, which you just download, on a Windows PC. -![image-20200703115937421](assets/image-20200703115937421.png) +![ard-install-2](../../assets/Arduino/ard-install-2.png) "I Agree" -![image-20200703115958670](assets/image-20200703115958670.png) +![ard-install-3](../../assets/Arduino/ard-install-3.png) "Next" -![image-20200703120015822](assets/image-20200703120015822.png) +![ard-install-4](../../assets/Arduino/ard-install-4.png) "Install" -![image-20200703120034198](assets/image-20200703120034198.png) +![ard-install-5](../../assets/Arduino/ard-install-5.png) After 100% progress, Arduino IDE has been installed successfully. -![image-20200703120054258](assets/image-20200703120054258.png) +![ard-install-6](../../assets/Arduino/ard-install-6.png) @@ -388,7 +387,7 @@ In Mac OS X, it is almost same with Linux, there is no install process actually, ### Open Arduino IDE -![image-20200703120123062](assets/image-20200703120123062.png) +![ard-install-7](../../assets/Arduino/ard-install-7.png) As you see, Arduino IDE has mainly 5 parts: @@ -400,7 +399,7 @@ You can configure some general parameters such as the serial port, the board inf You can verify/compile source code, upload the compiled code into WisBlock, open a new Arduino IDE window, open an exist application, or save the current application. -![image-20200703120140901](assets/image-20200703120140901.png) +![ard-install-8](../../assets/Arduino/ard-install-8.png) @@ -426,21 +425,21 @@ We use https://github.com/RAKWireless/RAK-nRF52-Arduino and do as below: - Go into Preferences - ![image-20200702170623007](assets/image-20200702170623007.png) + ![ard-install-9](../../assets/Arduino/ard-install-9.png) - Add https://downloads.rakwireless.com/Arduino/BSP/package_raknrf_index.json as an 'Additional Board Manager URL': - ![image-20200702170822034](assets/image-20200702170822034.png) + ![ard-install-10](../../assets/Arduino/ard-install-10.png) - Restart the Arduino IDE - Open the Boards Manager from the Tools -> Board menu - ![image-20200702171102982](assets/image-20200702171102982.png) + ![ard-install-11](../../assets/Arduino/ard-install-11.png) - Search and install "RAK" as the following image shows, and install it. It is the BSP actually. - ![image-20200702171813125](assets/image-20200702171813125.png) + ![ard-install-12](../../assets/Arduino/ard-install-12.png) @@ -448,7 +447,7 @@ We use https://github.com/RAKWireless/RAK-nRF52-Arduino and do as below: - After installing BSP successfully, just restart Arduino IDE, and select "WisBlock Core RAK4631 Board" as follow: -![image-20200714154646417](assets/image-20200714154646417.png) +![ard-install-13](../../assets/Arduino/ard-install-13.png) OK, we've configured Arduino IDE correctly and install the BSP successfully! --> @@ -482,14 +481,19 @@ RAK has supplied many examples source code on Github for WisBlock: You can use WisBlock directly or make their customized code according to these examples source code. What you need to do is just to load one of these examples into Arduino IDE by opening a .ino file in RAK examples, in this document, we use "ble_proximity_sensing.ino": + + + + + ---- -![image-20200702191428103](assets/image-20200702191428103.png) +![ard-install-18](../../assets/Arduino/ard-install-18.png) Now, we can compile it directly according to the [Compiling Project](#compiling-project), or do some customized code before compiling it if you want. @@ -502,17 +506,17 @@ About customization code, you can have a look at the section 9 for more details. The compiling process is very easy, what you need to do is just to click the Verify/Compile button on Arduino IDE: ---- -![image-20200703120229579](assets/image-20200703120229579.png) +![ard-install-8](../../assets/Arduino/ard-install-8.png) Then it will start to compile: ---- -![image-20200702191717737](assets/image-20200702191717737.png) +![ard-install-19](../../assets/Arduino/ard-install-19.png) After compiling successfully, you can see some information in the output message area, and the state is "Done compiling": ---- -![image-20200702191352945](assets/image-20200702191352945.png) +![ard-install-20](../../assets/Arduino/ard-install-20.png) Now, you can connect your WisBlock hardware with your PC, and upload the code into it. @@ -521,17 +525,17 @@ Now, you can connect your WisBlock hardware with your PC, and upload the code in Before uploading, please make sure that your WisBlock hardware has been connected with your PC correctly, and your PC has recognized WisBlock hardware successfully. If it is, you can select the port now as the following image shows: ---- -![image-20200702192336842](assets/image-20200702192336842.png) +![ard-install-21](../../assets/Arduino/ard-install-21.png) Then click the "Upload" button to start it: ---- -![image-20200703120245093](assets/image-20200703120245093.png) +![ard-install-8](../../assets/Arduino/ard-install-8.png) After uploading successfully, you can see some information as the following image shows in the output message area: ---- -![image-20200702192430475](assets/image-20200702192430475.png) +![ard-install-22](../../assets/Arduino/ard-install-22.png) Great! That means you've uploaded the code into WisBlock successfully. @@ -559,24 +563,24 @@ https://code.visualstudio.com/ After installing VS code, you can search PlatformIO and install it in the Extensions item: -![image-20200722100737565](assets/image-20200722100737565.png) +![pio_install_pio_1](../../assets/PlatformIO/pio_install_pio_1.png) ### Install Nordic nRF52 Arduino framework After installing PlatformIO, you can see the PlatformIO icon and open it as follow: -![image-20200722101053523](assets/image-20200722101053523.png) +![pio_open_pio_home](../../assets/Platformio/pio_open_pio_home.png) Open "Platforms" in PlatformIO and search "Nordic" as follow: -![image-20200722102908384](assets/image-20200722102908384.png) +![pio_install_platform_1](../../assets/PlatformIO/pio_install_platform_1.png) You can see there are several items, just click "Nordic nRF52" item and "Install" it as follow: -![image-20200722103130747](assets/image-20200722103130747.png) +![pio_install_platform_2](../../assets/PlatformIO/pio_install_platform_2.png) -![image-20200722103232366](assets/image-20200722103232366.png) +![pio_install_platform_3](../../assets/PlatformIO/pio_install_platform_3.png) ### Get patch files for RAK WisBlock Core boards @@ -596,15 +600,15 @@ The path maybe like: Then, create a new project in PlatformIO: -![image-20200722104754712](assets/image-20200722104754712.png) +![pio_install_platform_4](../../assets/PlatformIO/pio_install_platform_4.png) Choose "WisCore RAK4631 Board (RAKwireless)" for "Board" item, and choose "Arduino" for "Framework" item as follow: -![image-20200722104925274](assets/image-20200722104925274.png) +![pio_install_platform_5](../../assets/PlatformIO/pio_install_platform_5.png) After creating successfully, you can see the project: -![image-20200722105421895](assets/image-20200722105421895.png) +![pio_install_platform_6](../../assets/PlatformIO/pio_install_platform_6.png) ### Add WisBlock Core RAK4631 to the package @@ -623,24 +627,40 @@ https://github.com/RAKWireless/WisBlock/tree/master/examples/communications/LoRa Just copy the source code of the .ino file into the main.cpp of the PlatformIO project we just created: -![image-20200722111241582](assets/image-20200722111241582.png) +![pio_compile_1](../../assets/PlatformIO/pio_compile_1.png) Then we need to install the LoRaWAN® library "SX126x-Arduino" in PlatformIO firstly because this example is built based on this library. Just search "SX126x" in "Libraries" item of PlatformIO, and you can see "SX126x-Arduino" as follow: -![image-20200722112932981](assets/image-20200722112932981.png) +![pio_compile_2](../../assets/PlatformIO/pio_compile_2.png) Just click it and "Install" this library as follow: -![image-20200722113100736](assets/image-20200722113100736.png) +![pio_compile_3](../../assets/PlatformIO/pio_compile_3.png) + +To define your LoRaWan regional settings, open the file `platformio.ino` and set the region as a build-flag. In this example we set it to US915: + +```ini +build_flags = + -DREGION_US915 +``` + +And here we set the region to EU868: + +```ini +build_flags = + -DREGION_EU868 +``` + +![pio_compile_6](../../assets/PlatformIO/pio_compile_6.png) Then compile it by click the compiling icon at the bottom tool bar as follow: -![image-20200722113244435](assets/image-20200722113244435.png) +![pio_compile_4](../../assets/PlatformIO/pio_compile_4.png) -![image-20200722113305159](assets/image-20200722113305159.png) +![pio_compile_5](../../assets/PlatformIO/pio_compile_5.png) Great! We've compiled this example successfully! -Same as in Arduino IDE, there is an upload icon (red circle) on the right of the compiling icon (green circle) which can be used to upload the compiled firmware into your device. +Same as in Arduino IDE, there is an upload icon (green circle) on the right of the compiling icon (red circle) which can be used to upload the compiled firmware into your device. -![image-20200722113305159](assets/pio-flash.jpg) \ No newline at end of file +![pio-flash](../../assets/PlatformIO/pio-flash.jpg) \ No newline at end of file diff --git a/doc/Quick_Start/assets/RAK1902.PNG b/doc/Quick_Start/assets/RAK1902.PNG deleted file mode 100644 index 5af988c..0000000 Binary files a/doc/Quick_Start/assets/RAK1902.PNG and /dev/null differ diff --git a/doc/Quick_Start/assets/RAK1903.PNG b/doc/Quick_Start/assets/RAK1903.PNG deleted file mode 100644 index 4a6de3b..0000000 Binary files a/doc/Quick_Start/assets/RAK1903.PNG and /dev/null differ diff --git a/doc/Quick_Start/assets/RAK1904.PNG b/doc/Quick_Start/assets/RAK1904.PNG deleted file mode 100644 index 7a53dee..0000000 Binary files a/doc/Quick_Start/assets/RAK1904.PNG and /dev/null differ diff --git a/doc/Quick_Start/assets/RAK1906.PNG b/doc/Quick_Start/assets/RAK1906.PNG deleted file mode 100644 index 56ea7d1..0000000 Binary files a/doc/Quick_Start/assets/RAK1906.PNG and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200702160732477.png b/doc/Quick_Start/assets/image-20200702160732477.png deleted file mode 100644 index 7190a37..0000000 Binary files a/doc/Quick_Start/assets/image-20200702160732477.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200702160832581.png b/doc/Quick_Start/assets/image-20200702160832581.png deleted file mode 100644 index 7190a37..0000000 Binary files a/doc/Quick_Start/assets/image-20200702160832581.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200702171311262.png b/doc/Quick_Start/assets/image-20200702171311262.png deleted file mode 100644 index fa9ec1f..0000000 Binary files a/doc/Quick_Start/assets/image-20200702171311262.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200702171323810.png b/doc/Quick_Start/assets/image-20200702171323810.png deleted file mode 100644 index fa9ec1f..0000000 Binary files a/doc/Quick_Start/assets/image-20200702171323810.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200702171452080.png b/doc/Quick_Start/assets/image-20200702171452080.png deleted file mode 100644 index 59750c6..0000000 Binary files a/doc/Quick_Start/assets/image-20200702171452080.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200702173222325.png b/doc/Quick_Start/assets/image-20200702173222325.png deleted file mode 100644 index f5bac55..0000000 Binary files a/doc/Quick_Start/assets/image-20200702173222325.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200702185542018.png b/doc/Quick_Start/assets/image-20200702185542018.png deleted file mode 100644 index 0e7e4b5..0000000 Binary files a/doc/Quick_Start/assets/image-20200702185542018.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200702185742251.png b/doc/Quick_Start/assets/image-20200702185742251.png deleted file mode 100644 index 4c1c6c3..0000000 Binary files a/doc/Quick_Start/assets/image-20200702185742251.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200702190513136.png b/doc/Quick_Start/assets/image-20200702190513136.png deleted file mode 100644 index 28a1542..0000000 Binary files a/doc/Quick_Start/assets/image-20200702190513136.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200702190921403.png b/doc/Quick_Start/assets/image-20200702190921403.png deleted file mode 100644 index 1620cfc..0000000 Binary files a/doc/Quick_Start/assets/image-20200702190921403.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200703120229579.png b/doc/Quick_Start/assets/image-20200703120229579.png deleted file mode 100644 index 8370894..0000000 Binary files a/doc/Quick_Start/assets/image-20200703120229579.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200703120245093.png b/doc/Quick_Start/assets/image-20200703120245093.png deleted file mode 100644 index 8370894..0000000 Binary files a/doc/Quick_Start/assets/image-20200703120245093.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200703122058277.png b/doc/Quick_Start/assets/image-20200703122058277.png deleted file mode 100644 index 2491d56..0000000 Binary files a/doc/Quick_Start/assets/image-20200703122058277.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200703170427052.png b/doc/Quick_Start/assets/image-20200703170427052.png deleted file mode 100644 index a2bc189..0000000 Binary files a/doc/Quick_Start/assets/image-20200703170427052.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200714152453848.png b/doc/Quick_Start/assets/image-20200714152453848.png deleted file mode 100644 index 1c6655c..0000000 Binary files a/doc/Quick_Start/assets/image-20200714152453848.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722100737565.png b/doc/Quick_Start/assets/image-20200722100737565.png deleted file mode 100644 index fe3dd0a..0000000 Binary files a/doc/Quick_Start/assets/image-20200722100737565.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722101053523.png b/doc/Quick_Start/assets/image-20200722101053523.png deleted file mode 100644 index f48ff67..0000000 Binary files a/doc/Quick_Start/assets/image-20200722101053523.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722102908384.png b/doc/Quick_Start/assets/image-20200722102908384.png deleted file mode 100644 index 96f41b2..0000000 Binary files a/doc/Quick_Start/assets/image-20200722102908384.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722103130747.png b/doc/Quick_Start/assets/image-20200722103130747.png deleted file mode 100644 index badbd7d..0000000 Binary files a/doc/Quick_Start/assets/image-20200722103130747.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722103232366.png b/doc/Quick_Start/assets/image-20200722103232366.png deleted file mode 100644 index 740f76b..0000000 Binary files a/doc/Quick_Start/assets/image-20200722103232366.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722104754712.png b/doc/Quick_Start/assets/image-20200722104754712.png deleted file mode 100644 index 3c4c65c..0000000 Binary files a/doc/Quick_Start/assets/image-20200722104754712.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722104925274.png b/doc/Quick_Start/assets/image-20200722104925274.png deleted file mode 100644 index e5665ab..0000000 Binary files a/doc/Quick_Start/assets/image-20200722104925274.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722105421895.png b/doc/Quick_Start/assets/image-20200722105421895.png deleted file mode 100644 index 14cdae1..0000000 Binary files a/doc/Quick_Start/assets/image-20200722105421895.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722111241582.png b/doc/Quick_Start/assets/image-20200722111241582.png deleted file mode 100644 index 7175421..0000000 Binary files a/doc/Quick_Start/assets/image-20200722111241582.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722112932981.png b/doc/Quick_Start/assets/image-20200722112932981.png deleted file mode 100644 index ff995e9..0000000 Binary files a/doc/Quick_Start/assets/image-20200722112932981.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722113100736.png b/doc/Quick_Start/assets/image-20200722113100736.png deleted file mode 100644 index 7495371..0000000 Binary files a/doc/Quick_Start/assets/image-20200722113100736.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722113244435.png b/doc/Quick_Start/assets/image-20200722113244435.png deleted file mode 100644 index fb82bf1..0000000 Binary files a/doc/Quick_Start/assets/image-20200722113244435.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200722113305159.png b/doc/Quick_Start/assets/image-20200722113305159.png deleted file mode 100644 index 2247f59..0000000 Binary files a/doc/Quick_Start/assets/image-20200722113305159.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200807181351685.png b/doc/Quick_Start/assets/image-20200807181351685.png deleted file mode 100644 index 9589fb4..0000000 Binary files a/doc/Quick_Start/assets/image-20200807181351685.png and /dev/null differ diff --git a/doc/Quick_Start/assets/image-20200813153823055.png b/doc/Quick_Start/assets/image-20200813153823055.png deleted file mode 100644 index 4a78361..0000000 Binary files a/doc/Quick_Start/assets/image-20200813153823055.png and /dev/null differ diff --git a/doc/Quick_Start/assets/pio-flash.jpg b/doc/Quick_Start/assets/pio-flash.jpg deleted file mode 100644 index 5174756..0000000 Binary files a/doc/Quick_Start/assets/pio-flash.jpg and /dev/null differ diff --git a/examples/communications/BLE/README.md b/examples/communications/BLE/README.md index 2865d36..a8c4020 100644 --- a/examples/communications/BLE/README.md +++ b/examples/communications/BLE/README.md @@ -1,6 +1,6 @@ # BLE examples -![ble](images/ble-graphic2.png) +![ble](../../../assets/Examples/ble-graphic2.png) ---- diff --git a/examples/communications/BLE/ble_ota_dfu/README.MD b/examples/communications/BLE/ble_ota_dfu/README.MD index f1ff40f..342b7a8 100644 --- a/examples/communications/BLE/ble_ota_dfu/README.MD +++ b/examples/communications/BLE/ble_ota_dfu/README.MD @@ -17,7 +17,7 @@ To test OTA DFU the following hardware is required The assemble of RAK5005-O and RAK4631 is as bellow. -![image-20200728141355963](./images/image-assemble.png) +![ble-rak4631-rak5005-o](../../../../assets/repo/ble-rak4631-rak5005-o.png) ---- ## Software required @@ -123,21 +123,21 @@ void loop() Connect the hardware with PC by USB, Open the test program, select the "WisBlock Core RAK4631 Board" board and Port. Then do **upload**. - ![image-20200728110646822](./images/image-upload.png) + ![ard-install-21](../../../../assets/Arduino/ard-install-21.png) 2. **Generate DFU file and copy it to your phone.** In the Arduino software: go to **File** -> **Preferences** and then select **Show verbose output during** -> **compilation**. -![image-20200728105152185](./images/image-compile-options.png) +![ard-compile-opt](../../../../assets/Arduino/ard-compile-opt.png) ​ Finally, when you are compiling, the program will show you the path at last lines. -![image-20200728111245768](./images/image-binary-directory.png) +![ard-binary-image](../../../../assets/Arduino/ard-binary-image.png) In this example we use a the following demo zip file as the DFU file. -​ ![image-20200728181447095](./images/image-20200728181447095.png) +​ ![ard-hex-file-location](../../../../assets/Arduino/ard-hex-file-location.png) @@ -149,19 +149,19 @@ void loop() Open the nRF Toolbox and select DFU. - ![image-tool-box-home](./images/image-tool-box-home.png) + ![ble_toolbox-1](../../../../assets/Examples/ble_toolbox-1.png) ​ Select the DFU file you have copied to phone. -​ ![image-20200728113357677](./images/image-select-file.png) +​ ![ble_toolbox-1](../../../../assets/Examples/ble_toolbox-2.png) ​ Select the BLE device By device name which is advertised. -​ ![image-20200728113512973](./images/image-connect-ble.png) +​ ![ble_toolbox-3](../../../../assets/Examples/ble_toolbox-3.png) ​ Click "UPLOAD" button to start upgrade and wait until success. -​ ![image-20200728113902126](./images/image-do-ota.png) +​ ![ble_toolbox-4](../../../../assets/Examples/ble_toolbox-4.png) 4. **Check the upgrade result** diff --git a/examples/communications/BLE/ble_ota_dfu/ble_ota_dfu.ino b/examples/communications/BLE/ble_ota_dfu/ble_ota_dfu.ino index da5bcb6..861eec9 100644 --- a/examples/communications/BLE/ble_ota_dfu/ble_ota_dfu.ino +++ b/examples/communications/BLE/ble_ota_dfu/ble_ota_dfu.ino @@ -8,13 +8,17 @@ @copyright Copyright (c) 2020 @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - IO1 <-> P0.17 (Arduino GPIO number 17) - IO2 <-> P1.02 (Arduino GPIO number 34) - IO3 <-> P0.21 (Arduino GPIO number 21) - IO4 <-> P0.04 (Arduino GPIO number 4) - IO5 <-> P0.09 (Arduino GPIO number 9) - IO6 <-> P0.10 (Arduino GPIO number 10) - SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include diff --git a/examples/communications/BLE/ble_ota_dfu/images/image-upload.png b/examples/communications/BLE/ble_ota_dfu/images/image-upload.png deleted file mode 100644 index 1cbcd86..0000000 Binary files a/examples/communications/BLE/ble_ota_dfu/images/image-upload.png and /dev/null differ diff --git a/examples/communications/BLE/ble_proximity_sensing/README.md b/examples/communications/BLE/ble_proximity_sensing/README.md index ab34074..591ec5b 100644 --- a/examples/communications/BLE/ble_proximity_sensing/README.md +++ b/examples/communications/BLE/ble_proximity_sensing/README.md @@ -1,8 +1,10 @@ # BLE proximity sensing examples ---- -This example shows how to setup two WisBlock devices and use BLE to detect each other and give a visual signal if the two modules can see each other. Both devices are using BLE advertising and BLE device scanning functionality of BLE. +This example shows how to setup two WisBlock devices and use BLE to detect each other and give a visual signal if the two modules can see each other. -![image-20200713143334302](images/image-20200713143334302.png) +Both devices are using BLE advertising and BLE device scanning functionality of BLE. + +![ble-proximity](../../../../assets/Examples/ble-proximity.png) ---- ## Hardware required @@ -15,7 +17,7 @@ To build this system the WisBlock Core RAK4631 microcontroller and WisBlock Base The assembly is as follows: -![image-20200713093804742](images/image-20200713093804742.png) +![ble-rak4631-proxy](../../../../assets/repo/ble-rak4631-proxy.png) For stable connection, please use screws to tighten. diff --git a/examples/communications/BLE/ble_proximity_sensing/ble_proximity_sensing.ino b/examples/communications/BLE/ble_proximity_sensing/ble_proximity_sensing.ino index 0e62c38..cff374d 100644 --- a/examples/communications/BLE/ble_proximity_sensing/ble_proximity_sensing.ino +++ b/examples/communications/BLE/ble_proximity_sensing/ble_proximity_sensing.ino @@ -12,13 +12,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include diff --git a/examples/communications/BLE/ble_uart/README.MD b/examples/communications/BLE/ble_uart/README.MD index b208280..0090d0d 100644 --- a/examples/communications/BLE/ble_uart/README.MD +++ b/examples/communications/BLE/ble_uart/README.MD @@ -14,7 +14,7 @@ To test BLE UART the following hardware is required The assemble of RAK5005-O and RAK4631 is as bellow. -![image-20200728143108951](./images/image-assemble.png) +![ble-rak4631-rak5005-o](../../../../assets/repo/ble-rak4631-rak5005-o.png) ---- ## Software required @@ -132,15 +132,15 @@ void loop() ## BLE UART testing To test the BLE UART function upload the sketch to the RAK4631 and connect to it from the BLE UART app on your phone. -![](./images/BLE-UART-Phone-3.jpg) +![BLE UART app](../../../../assets/Examples/ble-UART-Phone-3.jpg) -![](./images/BLE-UART-Phone-4.jpg) +![Select device](../../../../assets/Examples/ble-UART-Phone-4.jpg) -![Device List](./images/BLE-UART-Phone-1.jpg) +![Device List](../../../../assets/Examples/ble-UART-Phone-1.jpg) Then you can send characters from the Arduino terminal to the BLE UART terminal on the phone and back. -![Device List](./images/BLE-UART-Phone-2.jpg) +![OUtput](../../../../assets/Examples/ble-UART-Phone-2.jpg) Output in the Arduino terminal: diff --git a/examples/communications/BLE/ble_uart/ble_uart.ino b/examples/communications/BLE/ble_uart/ble_uart.ino index 7a29e03..a45c0b1 100644 --- a/examples/communications/BLE/ble_uart/ble_uart.ino +++ b/examples/communications/BLE/ble_uart/ble_uart.ino @@ -8,13 +8,17 @@ @copyright Copyright (c) 2020 @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - IO1 <-> P0.17 (Arduino GPIO number 17) - IO2 <-> P1.02 (Arduino GPIO number 34) - IO3 <-> P0.21 (Arduino GPIO number 21) - IO4 <-> P0.04 (Arduino GPIO number 4) - IO5 <-> P0.09 (Arduino GPIO number 9) - IO6 <-> P0.10 (Arduino GPIO number 10) - SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include diff --git a/examples/communications/BLE/ble_uart/images/image-assemble.png b/examples/communications/BLE/ble_uart/images/image-assemble.png deleted file mode 100644 index 3539052..0000000 Binary files a/examples/communications/BLE/ble_uart/images/image-assemble.png and /dev/null differ diff --git a/examples/communications/Cellular/BG77_Unvarnished_Transmission/BG77_Unvarnished_Transmission.ino b/examples/communications/Cellular/BG77_Unvarnished_Transmission/BG77_Unvarnished_Transmission.ino index 95022b3..f43091c 100644 --- a/examples/communications/Cellular/BG77_Unvarnished_Transmission/BG77_Unvarnished_Transmission.ino +++ b/examples/communications/Cellular/BG77_Unvarnished_Transmission/BG77_Unvarnished_Transmission.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #define BG77_POWER_KEY 17 diff --git a/examples/communications/Cellular/Cellular_Ping/Cellular_Ping.ino b/examples/communications/Cellular/Cellular_Ping/Cellular_Ping.ino index 034aa19..9283151 100644 --- a/examples/communications/Cellular/Cellular_Ping/Cellular_Ping.ino +++ b/examples/communications/Cellular/Cellular_Ping/Cellular_Ping.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #define BG77_POWER_KEY 17 diff --git a/examples/communications/Cellular/README.md b/examples/communications/Cellular/README.md index d64b7be..9731525 100644 --- a/examples/communications/Cellular/README.md +++ b/examples/communications/Cellular/README.md @@ -19,7 +19,7 @@ BG77 is an ultra-compact LPWA module supporting LTE Cat M1, LTE Cat NB2 and inte - Region: Global - GNSS (Optional): GPS/GLONASS/BeiDou/Galileo/QZSS -![1](res/1.png) +![Assembly](../../../assets/repo/cell-rak4631-rak5860.png) ---- ## Software required @@ -455,7 +455,7 @@ OK Firstly download related tools from https://www.quectel.com/ProductDownload/BG77.html . Then Download our unvarnished transmission demo which will power up BG77. After the BG77 starts ok (blue led on and green led blink), connect to the USB of BG77 to your PC. According to your PC, choose appropriate driver. For windows 10, Open the ..\BG77\05 Tool&Driver\Quectel_LTE&5G_Windows_USB_Driver_V2.2.2 and install. Then open Device manager and find Quectel USB Modem's port. This is the AT port of BG77. -![3](res/3.png) +![Quectel tool](../../../assets/Examples/cell-usb-usage.png) Open Serials tool with the Quectel USB AT Port and send AT command now. diff --git a/examples/communications/Cellular/res/1a.png b/examples/communications/Cellular/res/1a.png deleted file mode 100644 index b448b0d..0000000 Binary files a/examples/communications/Cellular/res/1a.png and /dev/null differ diff --git a/examples/communications/Cellular/res/2.png b/examples/communications/Cellular/res/2.png deleted file mode 100644 index 8fd5c10..0000000 Binary files a/examples/communications/Cellular/res/2.png and /dev/null differ diff --git a/examples/communications/LoRa/LoRaP2P/LoRaP2P_RX/LoRaP2P_RX.ino b/examples/communications/LoRa/LoRaP2P/LoRaP2P_RX/LoRaP2P_RX.ino index 49d9057..3a90136 100644 --- a/examples/communications/LoRa/LoRaP2P/LoRaP2P_RX/LoRaP2P_RX.ino +++ b/examples/communications/LoRa/LoRaP2P/LoRaP2P_RX/LoRaP2P_RX.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include //http://librarymanager/All#SX126x diff --git a/examples/communications/LoRa/LoRaP2P/LoRaP2P_TX/LoRaP2P_TX.ino b/examples/communications/LoRa/LoRaP2P/LoRaP2P_TX/LoRaP2P_TX.ino index cd8313e..4fbd940 100644 --- a/examples/communications/LoRa/LoRaP2P/LoRaP2P_TX/LoRaP2P_TX.ino +++ b/examples/communications/LoRa/LoRaP2P/LoRaP2P_TX/LoRaP2P_TX.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include diff --git a/examples/communications/LoRa/LoRaP2P/README.md b/examples/communications/LoRa/LoRaP2P/README.md index 6bba03a..4f8dabc 100644 --- a/examples/communications/LoRa/LoRaP2P/README.md +++ b/examples/communications/LoRa/LoRaP2P/README.md @@ -4,13 +4,13 @@ This example shows how to setup two WisBlock to communicate with each other over LoRa®. Different to LoRaWan®, when using the low-level communication functions as below -![30](res/30.png) +![lora-p2p-mode](../../../../assets/Examples/lora-p2p-mode.png) The application has to take care that both nodes are initialized to use the same frequency, datarate, spreading factor, coding rates, .... Please check below code explanation for information about these settings. -![18](res/18.png) +![lora-p2p-settings](../../../../assets/Examples/lora-p2p-settings.png) | Parameters | Unit | | ---------------- | ----------------------------------------------------------- | @@ -29,7 +29,7 @@ To build the LoRa® system. With just one WisBlock Core RAK4631 plugged into the The RAK4631 is the WisBlock Core which can be connected to CPU SLOT of WisBlock via pin to pin groove like below. Besides, it provides SWD port to download via J-Link. Two antenna (BLE and LoRa®). Screws of four corners help stabilize connection with WisBlock. -![2](res/2.png) +![rak4631-connectors](../../../../assets/repo/rak4631-connectors.png) ## 3. Software Required @@ -38,13 +38,13 @@ After install Arduino IDE and BSP according to the Quick Start Guide, you can in - Start the Arduino IDE - Open Library Manager, search for sx126x-Arduino, and install -![3](res/3.png) +![lib-sx12x-install](../../../../assets/Arduino/lib-sx12x-install.png) ## 4. TX mode After download Tx demo, it will send '12345' per 5s. -![19](res/19.png) +![lora-p2p-tx-data](../../../../assets/Examples/lora-p2p-tx-data.png) P2P code is similar with LoRaWAN®. The difference is directly using radio part, rather than mac layer. User can attach serveral callbacks to radioevents. @@ -195,7 +195,7 @@ void send() After download Rx demo, it will keep listening forever (please wait for stable after serveral seconds later). If receive some data, it will print related information, like receive data(ASCII), RSSI and SNR. The Arduino Serial Monitor responses slowly sometimes. This will lead no receive data log in it. You can choose other serial tools (must support DTR). -![20](res/20.jpg) +![lora-p2p-rx-data](../../../../assets/Examples/lora-p2p-rx-data.jpg) diff --git a/examples/communications/LoRa/LoRaP2P/res/2.png b/examples/communications/LoRa/LoRaP2P/res/2.png deleted file mode 100644 index cde21b8..0000000 Binary files a/examples/communications/LoRa/LoRaP2P/res/2.png and /dev/null differ diff --git a/examples/communications/LoRa/LoRaP2P/res/3.png b/examples/communications/LoRa/LoRaP2P/res/3.png deleted file mode 100644 index 04b5a11..0000000 Binary files a/examples/communications/LoRa/LoRaP2P/res/3.png and /dev/null differ diff --git a/examples/communications/LoRa/LoRaWAN/LoRaWAN_ABP/LoRaWAN_ABP.ino b/examples/communications/LoRa/LoRaWAN/LoRaWAN_ABP/LoRaWAN_ABP.ino index 2de9d0a..fb353f7 100644 --- a/examples/communications/LoRa/LoRaWAN/LoRaWAN_ABP/LoRaWAN_ABP.ino +++ b/examples/communications/LoRa/LoRaWAN/LoRaWAN_ABP/LoRaWAN_ABP.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include //http://librarymanager/All#SX126x @@ -54,7 +58,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//ABP keys +//ABP keys !!!! KEYS ARE MSB !!!! uint32_t nodeDevAddr = 0x11111111; uint8_t nodeNwsKey[16] = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11}; uint8_t nodeAppsKey[16] = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11}; diff --git a/examples/communications/LoRa/LoRaWAN/LoRaWAN_OTAA/LoRaWAN_OTAA.ino b/examples/communications/LoRa/LoRaWAN/LoRaWAN_OTAA/LoRaWAN_OTAA.ino index d19bbf1..3ab2dd8 100644 --- a/examples/communications/LoRa/LoRaWAN/LoRaWAN_OTAA/LoRaWAN_OTAA.ino +++ b/examples/communications/LoRa/LoRaWAN/LoRaWAN_OTAA/LoRaWAN_OTAA.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include //http://librarymanager/All#SX126x @@ -54,7 +58,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!!! KEYS ARE MSB !!!! uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33, 0x33, 0x33, 0x33}; diff --git a/examples/communications/LoRa/LoRaWAN/RAK4631-DeepSleep-LoRaWan/RAK4631-DeepSleep-LoRaWan.ino b/examples/communications/LoRa/LoRaWAN/RAK4631-DeepSleep-LoRaWan/RAK4631-DeepSleep-LoRaWan.ino index 11043a7..9ecf94b 100644 --- a/examples/communications/LoRa/LoRaWAN/RAK4631-DeepSleep-LoRaWan/RAK4631-DeepSleep-LoRaWan.ino +++ b/examples/communications/LoRa/LoRaWAN/RAK4631-DeepSleep-LoRaWan/RAK4631-DeepSleep-LoRaWan.ino @@ -9,6 +9,18 @@ * * @copyright Copyright (c) 2020 * + * GPIO assignment of RAK5005-O to RAK4631 + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include "main.h" diff --git a/examples/communications/LoRa/LoRaWAN/RAK4631-DeepSleep-LoRaWan/lora_handler.cpp b/examples/communications/LoRa/LoRaWAN/RAK4631-DeepSleep-LoRaWan/lora_handler.cpp index 5b5bb00..d6ba34f 100644 --- a/examples/communications/LoRa/LoRaWAN/RAK4631-DeepSleep-LoRaWan/lora_handler.cpp +++ b/examples/communications/LoRa/LoRaWAN/RAK4631-DeepSleep-LoRaWan/lora_handler.cpp @@ -53,6 +53,7 @@ static lmh_param_t lora_param_init = {LORAWAN_ADR_OFF, DR_3, LORAWAN_PUBLIC_NETW static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; +// !!!! KEYS ARE MSB !!!! /** Device EUI required for OTAA network join */ uint8_t nodeDeviceEUI[8] = {0x00, 0x0D, 0x75, 0xE6, 0x56, 0x4D, 0xC1, 0xF6}; /** Application EUI required for network join */ diff --git a/examples/communications/LoRa/LoRaWAN/README.md b/examples/communications/LoRa/LoRaWAN/README.md index 2d00da0..047af9a 100644 --- a/examples/communications/LoRa/LoRaWAN/README.md +++ b/examples/communications/LoRa/LoRaWAN/README.md @@ -15,16 +15,18 @@ This example shows how to setup the WisBlock as a LoRaWan® sensor node. There a The region can be selected from the tools menu of ArduinoIDE -![6](res/6.jpg) +![ard-select-region](../../../../assets/Arduino/ard-select-region.jpg) -In addition you need +In addition you need keys to register the device. -for OTAA +### ALL KEYS ARE MSB! + +Keys required for OTAA - Device EUI if you want to use ABP registration of the device - Application EUI - Application Key, the AES encryption/decryption cipher application key -for ABP +Keys required for ABP - Device address - Network Session Key @@ -41,7 +43,7 @@ To build the LoRa® system. With just one WisBlock Core RAK4631 plugged into the The RAK4631 is the WisBlock Core which can be connected to CPU SLOT of WisBlock via pin to pin groove like below. Besides, it provides SWD port to download via Jlink. Two antenna (BLE and LoRa®). Screws of four corners help stabilize connection with WisBlock. -![2](res/2.png) +![rak4631-connectors](../../../../assets/repo/rak4631-connectors.png) ## 3. Software Required @@ -52,7 +54,7 @@ After install Arduino IDE and BSP according to the Quick Start Guide, you can in - Start the Arduino IDE - Open Library Manager, search for sx126x-Arduino, and install -![3](res/3.png) +![lib-sx12x-install](../../../../assets/Arduino/lib-sx12x-install.png) @@ -86,13 +88,18 @@ To test the example, we build node like below in ChirpStack (open-source LoRaWAN - Join Type: OTAA - Class: A -![4](res/4.png) +![lora-gateway-1](../../../../assets/Examples/lora-gateway-1.png) #### 3.3.3 Node configuration Then open the example in Arduino, fill the DeviceEUI, AppEUI, AppKey in the code like below: -![5](res/5.png) +```cpp +//OTAA keys !!!! ALL KEYS ARE MSB !!! +uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; +uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; +uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33, 0x33, 0x33, 0x33}; +``` #### 3.3.4 Compile and download @@ -104,21 +111,21 @@ There is a USB port on WisBlock. It is a debug port for RAK4631 with three funct Connect WisBlock to PC via USB. Arduino will recognize the board. The red led is on means power up. Go into tools and choose like below. -![6](res/6-1594607481721.jpg) +![ard-select-region](../../../../assets/Arduino/ard-select-region.jpg) Then click Upload (arrow button), it will compile and download to RAK4631 automatically. The blue led is on means download ok. -![7](res/7.png) +![ard-compile-finished](../../../../assets/Arduino/ard-compile-finished.png) #### 3.3.5 Log print and server data Go into Tools, choose the port (Adafruit Feather nRF52840 Express), open Serial Monitor. Log will show as below. It will join automatically and send 'hello!' to server per 20s : -![8](res/8.png) +![lora-otaa-log](../../../../assets/Examples/lora-otaa-log.png) At the same time, server will show the data from RAK4631. -![9](res/9.png) +![lora-gateway-3](../../../../assets/Examples/lora-gateway-3.png) It is a very easy way for users to finish their first LoRaWAN® trip. But most users want to apply LoRaWAN® to their own application. RAKwireless also provide a efficient way for them. @@ -194,7 +201,7 @@ lora_callbacks is struct of user callback in LoRaWAN®. There are mainly three c #### 3.4.5 OTAA Keys ``` -//OTAA keys +//OTAA keys !!!! ALL KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x22, 0x22}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,0x88, 0x88, 0x88, 0x88, 0x22, 0x22, 0x22, 0x22}; @@ -344,138 +351,144 @@ This function will fill in the packet and send data to server. m_lora_app_data i #### 3.4.14 Complete code - #include - #include - #include - - // RAK4630 supply two LED - #ifndef LED_BUILTIN - #define LED_BUILTIN 35 - #endif - - #ifndef LED_BUILTIN2 - #define LED_BUILTIN2 36 - #endif - - bool doOTAA = true; - #define SCHED_MAX_EVENT_DATA_SIZE APP_TIMER_SCHED_EVENT_DATA_SIZE /**< Maximum size of scheduler events. */ - #define SCHED_QUEUE_SIZE 60 /**< Maximum number of events in the scheduler queue. */ - #define LORAWAN_DATERATE DR_0 /*LoRaMac datarates definition, from DR_0 to DR_5*/ - #define LORAWAN_TX_POWER TX_POWER_5 /*LoRaMac tx power definition, from TX_POWER_0 to TX_POWER_15*/ - #define JOINREQ_NBTRIALS 3 /**< Number of trials for the join request. */ - DeviceClass_t gCurrentClass = CLASS_A; /* class definition*/ - lmh_confirm gCurrentConfirm = LMH_CONFIRMED_MSG; /* confirm/unconfirm packet definition*/ - uint8_t gAppPort = LORAWAN_APP_PORT; /* data port*/ - - /**@brief Structure containing LoRaWan parameters, needed for lmh_init() - */ - static lmh_param_t lora_param_init = {LORAWAN_ADR_ON , LORAWAN_DATERATE, LORAWAN_PUBLIC_NETWORK, JOINREQ_NBTRIALS, LORAWAN_TX_POWER, LORAWAN_DUTYCYCLE_OFF}; - - // Foward declaration - static void lorawan_has_joined_handler(void); - static void lorawan_rx_handler(lmh_app_data_t *app_data); - static void lorawan_confirm_class_handler(DeviceClass_t Class); - static void send_lora_frame(void); - - /**@brief Structure containing LoRaWan callback functions, needed for lmh_init() - */ - static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, - lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; +```cpp +#include +#include +#include +// RAK4630 supply two LED +#ifndef LED_BUILTIN +#define LED_BUILTIN 35 +#endif -​ -​ //OTAA keys -​ uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; -​ uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; -​ uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; +#ifndef LED_BUILTIN2 +#define LED_BUILTIN2 36 +#endif +bool doOTAA = true; +#define SCHED_MAX_EVENT_DATA_SIZE APP_TIMER_SCHED_EVENT_DATA_SIZE /**< Maximum size of scheduler events. */ +#define SCHED_QUEUE_SIZE 60 /**< Maximum number of events in the scheduler queue. */ +#define LORAWAN_DATERATE DR_0 /*LoRaMac datarates definition, from DR_0 to DR_5*/ +#define LORAWAN_TX_POWER TX_POWER_5 /*LoRaMac tx power definition, from TX_POWER_0 to TX_POWER_15*/ +#define JOINREQ_NBTRIALS 3 /**< Number of trials for the join request. */ +DeviceClass_t gCurrentClass = CLASS_A; /* class definition*/ +lmh_confirm gCurrentConfirm = LMH_CONFIRMED_MSG; /* confirm/unconfirm packet definition*/ +uint8_t gAppPort = LORAWAN_APP_PORT; /* data port*/ -​ -​ // Private defination -​ #define LORAWAN_APP_DATA_BUFF_SIZE 64 /**< buffer size of the data to be transmitted. */ -​ #define LORAWAN_APP_INTERVAL 20000 /**< Defines for user timer, the application data transmission interval. 20s, value in [ms]. */ -​ static uint8_t m_lora_app_data_buffer[LORAWAN_APP_DATA_BUFF_SIZE]; //< Lora user application data buffer. -​ static lmh_app_data_t m_lora_app_data = {m_lora_app_data_buffer, 0, 0, 0, 0}; //< Lora user application data structure. -​ -​ TimerEvent_t appTimer; -​ static uint32_t timers_init(void); -​ static uint32_t count = 0; -​ static uint32_t count_fail = 0; -​ -​ void setup() -​ { -​ pinMode(LED_BUILTIN, OUTPUT); -​ digitalWrite(LED_BUILTIN, LOW); -​ - // Initialize LoRa chip. - lora_rak4630_init(); - - // Initialize Serial for debug output - Serial.begin(115200); - while(!Serial){delay(10);} - Serial.println("====================================="); - Serial.println("Welcome to RAK4630 LoRaWan!!!"); - Serial.println("Type: OTAA"); +/**@brief Structure containing LoRaWan parameters, needed for lmh_init() + */ +static lmh_param_t lora_param_init = {LORAWAN_ADR_ON , LORAWAN_DATERATE, LORAWAN_PUBLIC_NETWORK, JOINREQ_NBTRIALS, LORAWAN_TX_POWER, LORAWAN_DUTYCYCLE_OFF}; +// Foward declaration +static void lorawan_has_joined_handler(void); +static void lorawan_rx_handler(lmh_app_data_t *app_data); +static void lorawan_confirm_class_handler(DeviceClass_t Class); +static void send_lora_frame(void); -​ -​ #if defined(REGION_AS923) -​ Serial.println("Region: AS923"); -​ #elif defined(REGION_AU915) -​ Serial.println("Region: AU915"); -​ #elif defined(REGION_CN470) -​ Serial.println("Region: CN470"); -​ #elif defined(REGION_CN779) -​ Serial.println("Region: CN779"); -​ #elif defined(REGION_EU433) -​ Serial.println("Region: EU433"); -​ #elif defined(REGION_IN865) -​ Serial.println("Region: IN865"); -​ #elif defined(REGION_EU868) -​ Serial.println("Region: EU868"); -​ #elif defined(REGION_KR920) -​ Serial.println("Region: KR920"); -​ #elif defined(REGION_US915) -​ Serial.println("Region: US915"); -​ #elif defined(REGION_US915_HYBRID) -​ Serial.println("Region: US915_HYBRID"); -​ #else -​ Serial.println("Please define a region in the compiler options."); -​ #endif -​ Serial.println("====================================="); +/**@brief Structure containing LoRaWan callback functions, needed for lmh_init() +*/ +static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, + lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; +``` +```cpp +//OTAA keys !!!! ALL KEYS ARE MSB !!! +uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; +uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; +uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; +``` -​ -​ //creat a user timer to send data to server period -​ uint32_t err_code; -​ err_code = timers_init(); -​ if (err_code != 0) -​ { -​ Serial.printf("timers_init failed - %d\n", err_code); -​ } -​ -​ // Setup the EUIs and Keys -​ lmh_setDevEui(nodeDeviceEUI); -​ lmh_setAppEui(nodeAppEUI); -​ lmh_setAppKey(nodeAppKey); -​ -​ // Initialize LoRaWan -​ err_code = lmh_init(&lora_callbacks, lora_param_init,doOTAA); -​ if (err_code != 0) -​ { -​ Serial.printf("lmh_init failed - %d\n", err_code); -​ } -​ - // Start Join procedure - lmh_join(); +```cpp +// Private defination +#define LORAWAN_APP_DATA_BUFF_SIZE 64 /**< buffer size of the data to be transmitted. */ +#define LORAWAN_APP_INTERVAL 20000 /**< Defines for user timer, the application data transmission interval. 20s, value in [ms]. */ +static uint8_t m_lora_app_data_buffer[LORAWAN_APP_DATA_BUFF_SIZE]; //< Lora user application data buffer. +static lmh_app_data_t m_lora_app_data = {m_lora_app_data_buffer, 0, 0, 0, 0}; //< Lora user application data structure. +``` + + + +```cpp +TimerEvent_t appTimer; +static uint32_t timers_init(void); +static uint32_t count = 0; +static uint32_t count_fail = 0; + +void setup() +{ + pinMode(LED_BUILTIN, OUTPUT); + digitalWrite(LED_BUILTIN, LOW); + + // Initialize LoRa chip. + lora_rak4630_init(); + + // Initialize Serial for debug output + Serial.begin(115200); + while(!Serial){delay(10);} + Serial.println("====================================="); + Serial.println("Welcome to RAK4630 LoRaWan!!!"); + Serial.println("Type: OTAA"); + + + #if defined(REGION_AS923) + Serial.println("Region: AS923"); + #elif defined(REGION_AU915) + Serial.println("Region: AU915"); + #elif defined(REGION_CN470) + Serial.println("Region: CN470"); + #elif defined(REGION_CN779) + Serial.println("Region: CN779"); + #elif defined(REGION_EU433) + Serial.println("Region: EU433"); + #elif defined(REGION_IN865) + Serial.println("Region: IN865"); + #elif defined(REGION_EU868) + Serial.println("Region: EU868"); + #elif defined(REGION_KR920) + Serial.println("Region: KR920"); + #elif defined(REGION_US915) + Serial.println("Region: US915"); + #elif defined(REGION_US915_HYBRID) + Serial.println("Region: US915_HYBRID"); + #else + Serial.println("Please define a region in the compiler options."); + #endif + Serial.println("====================================="); + + + //creat a user timer to send data to server period + uint32_t err_code; + err_code = timers_init(); + if (err_code != 0) + { + Serial.printf("timers_init failed - %d\n", err_code); } - void loop() + // Setup the EUIs and Keys + lmh_setDevEui(nodeDeviceEUI); + lmh_setAppEui(nodeAppEUI); + lmh_setAppKey(nodeAppKey); + + // Initialize LoRaWan + err_code = lmh_init(&lora_callbacks, lora_param_init,doOTAA); + if (err_code != 0) { - // Handle Radio events - Radio.IrqProcess(); + Serial.printf("lmh_init failed - %d\n", err_code); } + // Start Join procedure + lmh_join(); +} + +void loop() +{ + // Handle Radio events + Radio.IrqProcess(); +} +``` + + + /**@brief LoRa function for handling HasJoined event. */ void lorawan_has_joined_handler(void) @@ -574,7 +587,7 @@ For users, application is different and complicated. Although RAKwireless provid As the example shows, its default region is EU868. User can change it in Arduino like below: -![6](res/6-1594607481721.jpg) +![ard-select-region](../../../../assets/Arduino/ard-select-region.jpg) #### 3.5.2 OTAA/ABP configuration @@ -605,7 +618,17 @@ static lmh_param_t lora_param_init = {LORAWAN_ADR_ON , LORAWAN_DATERATE, LORAWAN So if want to develop own application, better based on examples of RAKwireless in https://github.com/RAKWireless/WisBlock/tree/master/examples/communications/LoRa/LoRaWAN/ . Open in Arduino, change the OTAA/ABP keys according to user's server configuration (TTN and ChirpStack are same with MSB first, only AppKey of TTN is LSB. This part should be pay more attention): -![14](res/14.png) +```cpp +//OTAA keys !!!! ALL KEYS ARE MSB !!! +uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; +uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; +uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33, 0x33, 0x33, 0x33}; + +//ABP keys !!!! ALL KEYS ARE MSB !!! +uint32_t nodeDevAddr = 0x11111111; +uint8_t nodeNwsKey[16] = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11}; +uint8_t nodeAppsKey[16] = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11}; +``` #### 3.5.6 ADR configuration diff --git a/examples/communications/LoRa/LoRaWAN/res/14.png b/examples/communications/LoRa/LoRaWAN/res/14.png deleted file mode 100644 index 94c3e6b..0000000 Binary files a/examples/communications/LoRa/LoRaWAN/res/14.png and /dev/null differ diff --git a/examples/communications/LoRa/LoRaWAN/res/2.png b/examples/communications/LoRa/LoRaWAN/res/2.png deleted file mode 100644 index cde21b8..0000000 Binary files a/examples/communications/LoRa/LoRaWAN/res/2.png and /dev/null differ diff --git a/examples/communications/LoRa/LoRaWAN/res/3.png b/examples/communications/LoRa/LoRaWAN/res/3.png deleted file mode 100644 index 04b5a11..0000000 Binary files a/examples/communications/LoRa/LoRaWAN/res/3.png and /dev/null differ diff --git a/examples/communications/LoRa/LoRaWAN/res/5.png b/examples/communications/LoRa/LoRaWAN/res/5.png deleted file mode 100644 index 9aaa1e1..0000000 Binary files a/examples/communications/LoRa/LoRaWAN/res/5.png and /dev/null differ diff --git a/examples/communications/LoRa/LoRaWAN/res/6.jpg b/examples/communications/LoRa/LoRaWAN/res/6.jpg deleted file mode 100644 index 7489d82..0000000 Binary files a/examples/communications/LoRa/LoRaWAN/res/6.jpg and /dev/null differ diff --git a/examples/communications/LoRa/README.md b/examples/communications/LoRa/README.md index fdb6dc1..a3373a5 100644 --- a/examples/communications/LoRa/README.md +++ b/examples/communications/LoRa/README.md @@ -9,7 +9,7 @@ LoRaWAN® is a new, private and spread-spectrum modulation technique which allo There are two basic usages, first is LoRaWAN® . WisBlock works as node, and report to LoRaWAN® gateway. Then gateway transmit to server on the cloud, like TTN/Lora Server, finally to users. Besides WisBlock, RAKwireless provide a whole solution from node to server. -![1](res/1.png) +![wifi-lora-net](../../../assets/Examples/wifi-lora-net.png) Second is based on P2P mode. Nodes may connect directly among them and send messages directly at no cost (as they are not using the LoRaWAN® Network but just direct radio communication). For more info go to the section P2P Mode. diff --git a/examples/communications/LoRa/res/2.png b/examples/communications/LoRa/res/2.png deleted file mode 100644 index cde21b8..0000000 Binary files a/examples/communications/LoRa/res/2.png and /dev/null differ diff --git a/examples/communications/LoRa/res/3.png b/examples/communications/LoRa/res/3.png deleted file mode 100644 index 04b5a11..0000000 Binary files a/examples/communications/LoRa/res/3.png and /dev/null differ diff --git a/examples/communications/WiFi/AT_Command_Test/AT_Command_Test.ino b/examples/communications/WiFi/AT_Command_Test/AT_Command_Test.ino index d7fe31e..bbca7e8 100644 --- a/examples/communications/WiFi/AT_Command_Test/AT_Command_Test.ino +++ b/examples/communications/WiFi/AT_Command_Test/AT_Command_Test.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ void setup() diff --git a/examples/communications/WiFi/README.md b/examples/communications/WiFi/README.md index c2f3224..f0de271 100644 --- a/examples/communications/WiFi/README.md +++ b/examples/communications/WiFi/README.md @@ -4,7 +4,7 @@ This example shows how to use WisBlock IO RAK2305 WiFi board. The WisBlock IO RAK2305 communicates with RAK4631 by AT commands. The input of AT commands and respond will be printed over the USB debug port of the WisBlock Base board. -![image-20200713154129867](images/image-20200713154129867.png) +![wifi-at-command](../../../assets/Examples/wifi-at-command.png) ---- ## Hardware required @@ -17,11 +17,11 @@ To test the WisBlock IO RAK2305 WiFi board, The following hardware is required. Hardware is shown as follows: -![image-20200710095032362](images/image-20200710095032362.png) +![wifi-rak4631-rak2305-1](../../../assets/repo/wifi-rak4631-rak2305-1.png) Assembled as follows: -![image-20200710095320009](images/image-20200710095320009.png) +![wifi-rak4631-rak2305-2](../../../assets/repo/wifi-rak4631-rak2305-2.png) For stable connection, please use screws to tighten. diff --git a/examples/communications/WiFi/connect_ap/connect_ap.ino b/examples/communications/WiFi/connect_ap/connect_ap.ino index 1a77104..4156631 100644 --- a/examples/communications/WiFi/connect_ap/connect_ap.ino +++ b/examples/communications/WiFi/connect_ap/connect_ap.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ /** diff --git a/examples/communications/WiFi/images/image-at-library.png b/examples/communications/WiFi/images/image-at-library.png deleted file mode 100644 index 9f46370..0000000 Binary files a/examples/communications/WiFi/images/image-at-library.png and /dev/null differ diff --git a/examples/communications/WiFi/images/image-regexp-library.png b/examples/communications/WiFi/images/image-regexp-library.png deleted file mode 100644 index 982a27e..0000000 Binary files a/examples/communications/WiFi/images/image-regexp-library.png and /dev/null differ diff --git a/examples/sensors/RAK1901_Temperature_Humidity_SHTC3/README.md b/examples/sensors/RAK1901_Temperature_Humidity_SHTC3/README.md index c2fa964..53bd2d7 100644 --- a/examples/sensors/RAK1901_Temperature_Humidity_SHTC3/README.md +++ b/examples/sensors/RAK1901_Temperature_Humidity_SHTC3/README.md @@ -2,6 +2,8 @@ This example shows how to use WisBlock Sensor RAK1901 temperature & humidity board. +rak1901-top + ---- ## Hardware required ---- @@ -15,7 +17,7 @@ RAK1901 is a Temperature & Humidity sensor board with an I2C interface, which me The sensor covers a humidity measurement range of 0 to 100 %RH and a temperature measurement range of - 40 °C to 125 °C with a typical accuracy of ±2 %RH and ±0.2°C. The broad supply voltage of 1.62 V to 3.6 V and an energy budget below 1 µJ per measurement make the SHTC3 suitable for mobile or wireless applications powered by batteries. With the industry-proven quality and reliability of Sensirion’s humidity and temperature sensors and constant accuracy over a large measurement range, the SHTC3 offers best performance-to-price ratio. Tape and reel packaging together with suitability for standard SMD assembly processes make the SHTC3 predestined for high-volume applications. -![3](res/3.png) +![exa-rak1901-assy](../../../assets/repo/exa-rak1901-assy.png) ---- ## Software required @@ -27,7 +29,7 @@ To test the RAK1901, The following software is required. - SparkFun SHTC3 Humidity and Temperature Sensor Library -![2](res/2.png) +![lib-shtc3-install](../../../assets/Arduino/lib-shtc3-install.png) The Arduino test software is written as follow: diff --git a/examples/sensors/RAK1901_Temperature_Humidity_SHTC3/res/1.png b/examples/sensors/RAK1901_Temperature_Humidity_SHTC3/res/1.png deleted file mode 100644 index cc6a430..0000000 Binary files a/examples/sensors/RAK1901_Temperature_Humidity_SHTC3/res/1.png and /dev/null differ diff --git a/examples/sensors/RAK1902_Pressure_LPS22HB/README.md b/examples/sensors/RAK1902_Pressure_LPS22HB/README.md index e4b1386..1ae7e8a 100644 --- a/examples/sensors/RAK1902_Pressure_LPS22HB/README.md +++ b/examples/sensors/RAK1902_Pressure_LPS22HB/README.md @@ -2,6 +2,8 @@ This example shows how to use WisBlock Sensor RAK1902 pressure board and program with it. +rak1902-top + ---- ## Hardware required ---- @@ -13,7 +15,7 @@ To test the RAK1902, The following hardware is required. RAK1902 is a pressure sensor board with an I2C interface, which means it can be connected with RAK5005-O through the I2C slot (SLOT A/B/C/D). It contains LPS22HB. The LPS22HB is an ultra-compact piezoresistive absolute pressure sensor which functions as a digital output barometer. The device comprises a sensing element and an IC interface which communicates through I2C or SPI from the sensing element to the application. The sensing element, which detects absolute pressure, consists of a suspended membrane manufactured using a dedicated process developed by ST. The LPS22HB is available in a full-mold, holed LGA package (HLGA). It is guaranteed to operate over a temperature range extending from -40 °C to +85 °C. The package is holed to allow external pressure to reach the sensing element. -![3](res/3.png) +![exa-rak1902-assy](../../../assets/repo/exa-rak1902-assy.png) ---- ## Software required @@ -24,7 +26,7 @@ To test the RAK1902, The following software is required. - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - Arduino_LPS22HB Library -![2](res/2.png) +![lib-lps22hb-install](../../../assets/Arduino/lib-lps22hb-install.png) The Arduino test software is written as follow: diff --git a/examples/sensors/RAK1902_Pressure_LPS22HB/res/1.png b/examples/sensors/RAK1902_Pressure_LPS22HB/res/1.png deleted file mode 100644 index 30e4a5e..0000000 Binary files a/examples/sensors/RAK1902_Pressure_LPS22HB/res/1.png and /dev/null differ diff --git a/examples/sensors/RAK1903_Optical_OPT3001/RAK1903_Optical_OPT3001.ino b/examples/sensors/RAK1903_Optical_OPT3001/RAK1903_Optical_OPT3001.ino index 1455ca0..4883152 100644 --- a/examples/sensors/RAK1903_Optical_OPT3001/RAK1903_Optical_OPT3001.ino +++ b/examples/sensors/RAK1903_Optical_OPT3001/RAK1903_Optical_OPT3001.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include // Click here to get the library: http://librarymanager/All#OPT3001 diff --git a/examples/sensors/RAK1903_Optical_OPT3001/README.md b/examples/sensors/RAK1903_Optical_OPT3001/README.md index 6ca235d..ff7de8d 100644 --- a/examples/sensors/RAK1903_Optical_OPT3001/README.md +++ b/examples/sensors/RAK1903_Optical_OPT3001/README.md @@ -2,6 +2,8 @@ This example shows how to use WisBlock Sensor RAK1903 optical board. +rak1903-top + ---- ## Hardware required ---- @@ -17,7 +19,7 @@ Measurements can be made from 0.01 lux up to 83k lux without manually selecting -![3](res/3.png) +![exa-rak1903-assy](../../../assets/repo/exa-rak1903-assy.png) ---- ## Software required @@ -28,7 +30,7 @@ To test the RAK1903, The following software is required. - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - ClosedCube OPT3001 Library -![2](res/2.png) +![lib-opt3001-install](../../../assets/Arduino/lib-opt3001-install.png) The Arduino test software is written as follow: diff --git a/examples/sensors/RAK1903_Optical_OPT3001/res/1.png b/examples/sensors/RAK1903_Optical_OPT3001/res/1.png deleted file mode 100644 index 9e8e411..0000000 Binary files a/examples/sensors/RAK1903_Optical_OPT3001/res/1.png and /dev/null differ diff --git a/examples/sensors/RAK1904_Accelerate_LIS3DH/Images/RAK1904_Back_01.png b/examples/sensors/RAK1904_Accelerate_LIS3DH/Images/RAK1904_Back_01.png deleted file mode 100644 index 6c6facf..0000000 Binary files a/examples/sensors/RAK1904_Accelerate_LIS3DH/Images/RAK1904_Back_01.png and /dev/null differ diff --git a/examples/sensors/RAK1904_Accelerate_LIS3DH/Images/RAK1904_Front_01.png b/examples/sensors/RAK1904_Accelerate_LIS3DH/Images/RAK1904_Front_01.png deleted file mode 100644 index 8945bda..0000000 Binary files a/examples/sensors/RAK1904_Accelerate_LIS3DH/Images/RAK1904_Front_01.png and /dev/null differ diff --git a/examples/sensors/RAK1904_Accelerate_LIS3DH/RAK1904_Accelerate_LIS3DH.ino b/examples/sensors/RAK1904_Accelerate_LIS3DH/RAK1904_Accelerate_LIS3DH.ino index d3d2c62..333059a 100644 --- a/examples/sensors/RAK1904_Accelerate_LIS3DH/RAK1904_Accelerate_LIS3DH.ino +++ b/examples/sensors/RAK1904_Accelerate_LIS3DH/RAK1904_Accelerate_LIS3DH.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include "SparkFunLIS3DH.h" //http://librarymanager/All#SparkFun-LIS3DH #include diff --git a/examples/sensors/RAK1904_Accelerate_LIS3DH/Readme.md b/examples/sensors/RAK1904_Accelerate_LIS3DH/Readme.md index 3c176e8..3796bec 100644 --- a/examples/sensors/RAK1904_Accelerate_LIS3DH/Readme.md +++ b/examples/sensors/RAK1904_Accelerate_LIS3DH/Readme.md @@ -10,7 +10,7 @@ The information obtained from the accelerometer will then be printed over the US ## 2 Hardware -![](Images/RAK1904_Back_01.png)![](Images/RAK1904_Front_01.png) +rak1904-top @@ -58,11 +58,11 @@ We need to install this Arduino IDE library to control the LIS3DH on WisBlock Se The Arduino Library Manager was added starting with Arduino IDE versions 1.5 and greater (1.6.x). It is found in the 'Sketch' menu under 'Include Library', 'Manage Libraries...' -![](Images/Sketch-Manage-Libraries.png) +![lib-manager](../../../assets/Arduino/lib-manager.png) When you open the Library Manager you will find a large list of libraries ready for one-click install. To find a library for your product, search for the product name or a keyword such as 'k type' or 'digitizer', and the library you want should show up. Click on the desired library, and the 'Install' button will appear. Click that button, and the library should install automatically. When installation finishes, close the Library Manager. -![](Images/Library-list.png) +![lib-lis3dh-install](../../../assets/Arduino/lib-lis3dh-install.png) ### 3.3 Initialization Setting Mode diff --git a/examples/sensors/RAK1906_Environment_BEM680/README.md b/examples/sensors/RAK1906_Environment_BEM680/README.md index e4ad7ba..b7c71e1 100644 --- a/examples/sensors/RAK1906_Environment_BEM680/README.md +++ b/examples/sensors/RAK1906_Environment_BEM680/README.md @@ -4,13 +4,13 @@ This example shows how to use the WisBlock Sensor RAK1906 environment board. The WisBlock Sensor RAK1906 environment board uses gas sensor BME680 which can measure relative humidity, barometric pressure, ambient temperature and gas (VOC). -![image-20200716094557813](images/image-BME680-SPEC.png) +![exa-bme680-features](../../../assets/Examples/exa-bme680-features.png) Product physical map is as follows: -![image-20200716095106656](images/image-RAK1906.png) +rak1906-top ---- ## Hardware required @@ -25,11 +25,7 @@ To use the WisBlock Sensor RAK1906 environment board, The following hardware is Hardware is shown as follows: -![image-20200716103316240](images/image-harware.png) - -Assembled as follows: - -![image-20200716102404167](images/image-RAK1906-assemble.png) +![exa-rak1906-assy](../../../assets/repo/exa-rak1906-assy.png) For stable connection, please use screws to tighten. @@ -42,17 +38,17 @@ To use the WisBlock Sensor RAK1906 environment board, The following software is - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - CloseCube BME680 Library -![image-20200716105611448](images/image-ClosedCubeBME680.png) +![lib-bme680-install](../../../assets/Arduino/lib-bme680-install.png) - BME680 BSEC Library -![image-20200716110253798](images/image-BSEC-BME680.png) +![lib-bsec-install](../../../assets/Arduino/lib-bsec-install.png) Connect the assembled hardware to the PC with a USB cable, open the Arduino, and select the development board and port in the tool menu. -![image-20200716115631123](images/image-board-info.png) +![ard-install-21](../../../assets/Arduino/ard-install-21.png) diff --git a/examples/sensors/RAK1906_Environment_BEM680/bme680_basic/bme680_basic.ino b/examples/sensors/RAK1906_Environment_BEM680/bme680_basic/bme680_basic.ino index d80c5cc..761017f 100644 --- a/examples/sensors/RAK1906_Environment_BEM680/bme680_basic/bme680_basic.ino +++ b/examples/sensors/RAK1906_Environment_BEM680/bme680_basic/bme680_basic.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include "ClosedCube_BME680.h" //http://librarymanager/All#ClosedCube_BME680 diff --git a/examples/sensors/RAK1906_Environment_BEM680/bme680_bsec/bme680_bsec.ino b/examples/sensors/RAK1906_Environment_BEM680/bme680_bsec/bme680_bsec.ino index ef38ad4..b275e3a 100644 --- a/examples/sensors/RAK1906_Environment_BEM680/bme680_bsec/bme680_bsec.ino +++ b/examples/sensors/RAK1906_Environment_BEM680/bme680_bsec/bme680_bsec.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include "bsec.h" //http://librarymanager/All#BSEC_BME680 diff --git a/examples/sensors/RAK1906_Environment_BEM680/images/image-RAK1906-assemble.png b/examples/sensors/RAK1906_Environment_BEM680/images/image-RAK1906-assemble.png deleted file mode 100644 index bc4c431..0000000 Binary files a/examples/sensors/RAK1906_Environment_BEM680/images/image-RAK1906-assemble.png and /dev/null differ diff --git a/examples/sensors/RAK1906_Environment_BEM680/images/image-RAK1906.png b/examples/sensors/RAK1906_Environment_BEM680/images/image-RAK1906.png deleted file mode 100644 index 559bdd9..0000000 Binary files a/examples/sensors/RAK1906_Environment_BEM680/images/image-RAK1906.png and /dev/null differ diff --git a/examples/sensors/RAK1906_Environment_BEM680/images/image-board-info.png b/examples/sensors/RAK1906_Environment_BEM680/images/image-board-info.png deleted file mode 100644 index d827fe7..0000000 Binary files a/examples/sensors/RAK1906_Environment_BEM680/images/image-board-info.png and /dev/null differ diff --git a/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK1910_Back_01.png b/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK1910_Back_01.png deleted file mode 100644 index 76e3982..0000000 Binary files a/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK1910_Back_01.png and /dev/null differ diff --git a/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK4631_Back_01.png b/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK4631_Back_01.png deleted file mode 100644 index 334897a..0000000 Binary files a/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK4631_Back_01.png and /dev/null differ diff --git a/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK4631_Front_01.png b/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK4631_Front_01.png deleted file mode 100644 index 0ea86f3..0000000 Binary files a/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK4631_Front_01.png and /dev/null differ diff --git a/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK5005-O.png b/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK5005-O.png deleted file mode 100644 index 6b6b3c7..0000000 Binary files a/examples/sensors/RAK1910_GPS_UBLOX7/Images/RAK5005-O.png and /dev/null differ diff --git a/examples/sensors/RAK1910_GPS_UBLOX7/RAK1910_GPS_UBLOX7.ino b/examples/sensors/RAK1910_GPS_UBLOX7/RAK1910_GPS_UBLOX7.ino index a799295..076af04 100644 --- a/examples/sensors/RAK1910_GPS_UBLOX7/RAK1910_GPS_UBLOX7.ino +++ b/examples/sensors/RAK1910_GPS_UBLOX7/RAK1910_GPS_UBLOX7.ino @@ -8,13 +8,17 @@ @copyright Copyright (c) 2020 @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - IO1 <-> P0.17 (Arduino GPIO number 17) - IO2 <-> P1.02 (Arduino GPIO number 34) - IO3 <-> P0.21 (Arduino GPIO number 21) - IO4 <-> P0.04 (Arduino GPIO number 4) - IO5 <-> P0.09 (Arduino GPIO number 9) - IO6 <-> P0.10 (Arduino GPIO number 10) - SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include diff --git a/examples/sensors/RAK1910_GPS_UBLOX7/Readme.md b/examples/sensors/RAK1910_GPS_UBLOX7/Readme.md index d7ae46a..19abdb5 100644 --- a/examples/sensors/RAK1910_GPS_UBLOX7/Readme.md +++ b/examples/sensors/RAK1910_GPS_UBLOX7/Readme.md @@ -11,7 +11,7 @@ The information obtained from the GPS will then be printed over the USB debug po WisBlock can integrate this GPS receiver which allows to know the exact outside location of the mote anytime. In this way the exact position of the mote can be obtained and even the current time and date, to synchronize the WisBlock Core internal clock (RTC) with the real time. - [WisBlock Sensor RAK1910](https://store.rakwireless.com/) - ![](Images/RAK1910_Back_01.png) + rak1910-top @@ -98,10 +98,13 @@ The principal purpose of this section is how to get location, time, date and mov To build this system the WisBlock Core RAK4631 microcontroller is using the RAK1910 GPS module. With just two WisBlock boards plugged into the WisBlock Base RAK5005-O board the system is ready to be used. - [WisBlock Base RAK5005-O](https://store.rakwireless.com/) + + ![rak5005-o-top-tilt](../../../assets/repo/rak5005-o-top-tilt.png) + - WisBlock Core RAK4631 -![](Images/RAK5005-O.png) -![](Images/RAK4631_Front_01.png) -![](Images/RAK4631_Back_01.png) + +![RAK4631](../../../assets/repo/RAK4631.png) + ### 3.2 Software required diff --git a/examples/sensors/RAK1920_Grove_Color_TCS3472/RAK1920_Grove_Color_TCS3472.ino b/examples/sensors/RAK1920_Grove_Color_TCS3472/RAK1920_Grove_Color_TCS3472.ino index 681a097..6c40015 100644 --- a/examples/sensors/RAK1920_Grove_Color_TCS3472/RAK1920_Grove_Color_TCS3472.ino +++ b/examples/sensors/RAK1920_Grove_Color_TCS3472/RAK1920_Grove_Color_TCS3472.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include "Adafruit_TCS34725.h" //http://librarymanager/All#Adafruit_TCS34725 diff --git a/examples/sensors/RAK1920_Grove_Color_TCS3472/README.md b/examples/sensors/RAK1920_Grove_Color_TCS3472/README.md index 0665e12..aa1073c 100644 --- a/examples/sensors/RAK1920_Grove_Color_TCS3472/README.md +++ b/examples/sensors/RAK1920_Grove_Color_TCS3472/README.md @@ -2,6 +2,8 @@ This example shows how to use WisBlock IO RAK1920, which is a MikroBUS/Grove/QWIIC adapter board, to connect with a Grove interface sensor. +rak1920 + ---- ## Hardware required ---- @@ -14,7 +16,7 @@ To test the RAK1920, The following hardware is required. RAK1920 is a Mikrobus/Grove/QWIIC adapter board which can be connected to Mikrobus/Grove/QWIIC sensor. This guide shows how to use Grove sensor with WisBlock. The adapter board has two Grove interface, one near to RAK4631 is for I/O(Grove B). The other one is for I2C(Grove A). Here we choose Color Sensor RGB Unit (TCS3472) from https://m5stack.com/collections/m5-unit/products/color-unit. RGB Unit is color recognition unit integrated TCS3472. Like its namesake, It is able to detect color value and return RGB data to the host. Identify color principle: In the TCS3472, a 3*4 array of filtered photodiodes and a 16 bit analog-to-digital converters are embedded. Of the 12 photodiodes, 3 have red filters, 3 have green filters, 3 have blue filters and 3 have no filter(clear). When detecting the color of an object, TCS3472 returns data from four channels: red(R), green(G), blue(B) and clear(C)(non-filtered). The response from the red, green and blue channels (RGB) can be used to determine a particular source’s chromaticity coordinates (x, y). It should be connected to Grove A. -![1](res/1.png) +![exa-rak1920-assy-color](../../../assets/repo/exa-rak1920-assy-color.png) ---- ## Software required @@ -26,7 +28,7 @@ To test the RAK1920, The following software is required. - Adafruit TCS34725 library -![2](res/2.png) +![lib-tcs34725-install](../../../assets/Arduino/lib-tcs34725-install.png) The Arduino test software is written as follow: diff --git a/examples/sensors/RAK1920_Grove_PIR_AS312/RAK1920_Grove_PIR_AS312.ino b/examples/sensors/RAK1920_Grove_PIR_AS312/RAK1920_Grove_PIR_AS312.ino index cd3f1c1..13fbc77 100644 --- a/examples/sensors/RAK1920_Grove_PIR_AS312/RAK1920_Grove_PIR_AS312.ino +++ b/examples/sensors/RAK1920_Grove_PIR_AS312/RAK1920_Grove_PIR_AS312.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ void setup() { diff --git a/examples/sensors/RAK1920_Grove_PIR_AS312/README.md b/examples/sensors/RAK1920_Grove_PIR_AS312/README.md index ee86875..c3a17f3 100644 --- a/examples/sensors/RAK1920_Grove_PIR_AS312/README.md +++ b/examples/sensors/RAK1920_Grove_PIR_AS312/README.md @@ -2,6 +2,8 @@ This example shows how to use RAK1920, which is a MikroBUS/Grove/QWIIC adapter board, to connect with a Grove interface sensor. +rak1920 + ---- ## Hardware required ---- @@ -23,7 +25,7 @@ RAK1920 is a Mikrobus/Grove/QWIIC adapter board which can be connected to Mikrob - Two Lego installation holes - Grove B -![1](res/1.png) +![exa-rak1920-assy-sens](../../../assets/repo/exa-rak1920-assy-sens.png) ---- ## Software required diff --git a/examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/RAK1920_MikroBUS_Temperature_TMP102.ino b/examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/RAK1920_MikroBUS_Temperature_TMP102.ino index 02d857b..2729e67 100644 --- a/examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/RAK1920_MikroBUS_Temperature_TMP102.ino +++ b/examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/RAK1920_MikroBUS_Temperature_TMP102.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include // Used to establied serial communication on the I2C bus diff --git a/examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/README.md b/examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/README.md index e790883..c77ec45 100644 --- a/examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/README.md +++ b/examples/sensors/RAK1920_MikroBUS_Temperature_TMP102/README.md @@ -2,6 +2,8 @@ This example shows how to use WisBlock IO RAK1920, which is a MikroBUS/Grove/QWIIC adapter board, to connect with a MicroBUS interface sensor. +rak1920 + ---- ## Hardware required ---- @@ -14,7 +16,7 @@ To test the RAK1920, The following hardware is required. RAK1920 is a Mikrobus/Grove/QWIIC adapter board which can be connected to Mikrobus/Grove/QWIIC sensor. This guide shows how to use Mikrobus sensor with WisBlock. Here we choose Thermo 3 click from https://www.mikroe.com/thermo-3-click. Thermo 3 click carries [TMP102](https://download.mikroe.com/documents/datasheets/tmp102-data-sheet.pdf), a digital temperature sensor IC with a tiny footprint of only 1.6mm x 1.6mm. The click is designed to run on a 3.3V power supply only. It communicates with the target MCU through mikroBUS™ I2 C pins (SCL, SDA), and an additional Alert pint (INT on the default mikroBUS™ configuration). Without requiring calibration, TMP102 is accurate within 0.5°C. Measurement range is between **-25°C to 85°C**. An integrated 12-bit ADC allows for measurement resolutions down to 0.0625°C. -![1](res/1.png) +![exa-rak1920-assy-temp](../../../assets/repo/exa-rak1920-assy-temp.png) ---- ## Software required @@ -26,7 +28,7 @@ To test the RAK1920, The following software is required. - SparkFun TMP102 Breakout library -![2](res/2.png) +![lib-tmp102-install](../../../assets/Arduino/lib-tmp102-install.png) The Arduino test software is written as follow: diff --git a/examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/RAK1920_QWIIC_AirQuality_SGP30.ino b/examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/RAK1920_QWIIC_AirQuality_SGP30.ino index c441c34..3e76085 100644 --- a/examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/RAK1920_QWIIC_AirQuality_SGP30.ino +++ b/examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/RAK1920_QWIIC_AirQuality_SGP30.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ /* Library for the Sensirion SGP30 Indoor Air Quality Sensor diff --git a/examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/README.md b/examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/README.md index d5238f0..c151dbb 100644 --- a/examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/README.md +++ b/examples/sensors/RAK1920_QWIIC_AirQuality_SGP30/README.md @@ -2,6 +2,8 @@ This example shows how to use WisBlock IO RAK1920, which is a Mikrobus/Grove/QWIIC adapter board, to connect with a QWIIC interface sensor. +rak1920 + ---- ## Hardware required ---- @@ -14,7 +16,7 @@ To test the RAK1920, The following hardware is required. RAK1920 is a Mikrobus/Grove/QWIIC adapter board which can be connected to Mikrobus/Grove/QWIIC sensor. This guide shows how to use QWIIC sensor with WisBlock. Here we choose SparkFun SGP30 Air Quality Sensor from https://www.sparkfun.com/products/16531. The SparkFun SGP30 Air Quality Sensor provides information on the quality of the air in your room or house by monitoring the volatile organic compounds around the sensor. The SGP30 Air Quality Sensor can return valid indoor air quality (IAQ) readings within 15 seconds of powering up! By comparison, typical air quality (IAQ) sensors are great for measuring CO2 and volatile organic compounds (VOCs) but some of them require a burn-in time of 48 hours and a 20-min start up time. Along with a very quick start-up time, the SGP30 is very resistant to contamination from other gases to ensure low drift and long-term stability for extremely reliable results. You can read the SGP30 gas sensor output measurements of total VOCs (TVOC) in parts per billion (ppb), carbon dioxide (CO2) equivalent in parts per million (ppm) and H2. -![1](res/1.png) +![exa-rak1920-assy-gas](../../../assets/repo/exa-rak1920-assy-gas.png) ---- ## Software required @@ -26,7 +28,7 @@ To test the RAK1920, The following software is required. - SparkFun SGP30 Arduino library -![2](res/2.png) +![lib-sgp30-install](../../../assets/Arduino/lib-sgp30-install.png) The Arduino test software is written as follow: diff --git a/examples/sensors/RAK1921_Jumping_Ball_SSD1306/README.md b/examples/sensors/RAK1921_Jumping_Ball_SSD1306/README.md index 5dbebc5..f89a700 100644 --- a/examples/sensors/RAK1921_Jumping_Ball_SSD1306/README.md +++ b/examples/sensors/RAK1921_Jumping_Ball_SSD1306/README.md @@ -2,7 +2,7 @@ This example shows how to use WisBlock IO RAK1921 which is an OLED SSD1306(128*64, I2C) board. -![image-20200716171116461.png](images/image-ssd1306-128-64.png) +rak1921 ---- ## Hardware required @@ -17,11 +17,11 @@ The following hardware are required. Hardware is shown as follows: -![image-harware.png](images/image-harware.png) +![exa-rak1921-assy](../../../assets/repo/exa-rak1921-assy.png) Assembled as follows: -![image-RAK1906-assemble](images/image-RAK1906-assemble.png) +![exa-rak1921-assy-2](../../../assets/repo/exa-rak1921-assy-2.png) For stable connection, please use screws to tighten. @@ -34,12 +34,12 @@ To use the environment WisBlock Sensor RAK1906, The following software is requir - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - U8g2 library -![image-20200716164627030](images/image-U8g2lib.png) +![lib-u8g-install](../../../assets/Arduino/lib-u8g-install.png) Connect the assembled hardware to the PC with a USB cable, open the Arduino, and select the development board and port in the tool menu. -![image-20200716115631123](images/image-board-info.png) +![ard-install-21](../../../assets/Arduino/ard-install-21.png) @@ -108,7 +108,7 @@ void central() The test results are as follows: -![image-20200717115335286](images/JumpingBall.jpg) +exa-1921-jumping diff --git a/examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-board-info.png b/examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-board-info.png deleted file mode 100644 index d827fe7..0000000 Binary files a/examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-board-info.png and /dev/null differ diff --git a/examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-ssd1306-128-64.png b/examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-ssd1306-128-64.png deleted file mode 100644 index afc6224..0000000 Binary files a/examples/sensors/RAK1921_Jumping_Ball_SSD1306/images/image-ssd1306-128-64.png and /dev/null differ diff --git a/examples/sensors/RAK1921_Moving_Logo_SSD1306/README.md b/examples/sensors/RAK1921_Moving_Logo_SSD1306/README.md index 9c5d300..d3288e4 100644 --- a/examples/sensors/RAK1921_Moving_Logo_SSD1306/README.md +++ b/examples/sensors/RAK1921_Moving_Logo_SSD1306/README.md @@ -2,7 +2,7 @@ This example shows how to use WisBlock IO RAK1921 which is an OLED SSD1306(128*64, I2C) board. -![image-20200716171116461.png](images/image-ssd1306-128-64.png) +rak1921.png ---- ## Hardware required @@ -17,11 +17,11 @@ The following hardware are required. Hardware is shown as follows: -![image-harware.png](images/image-harware.png) +![exa-rak1921-assy](../../../assets/repo/exa-rak1921-assy.png) Assembled as follows: -![image-RAK1906-assemble](images/image-RAK1906-assemble.png) +![exa-rak1921-assy-2](../../../assets/repo/exa-rak1921-assy-2.png) For stable connection, please use screws to tighten. @@ -34,12 +34,12 @@ To use the environment WisBlock Sensor RAK1906, The following software is requir - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - U8g2 library -![image-20200716164627030](images/image-U8g2lib.png) +![lib-u8g-install](../../../assets/Arduino/lib-u8g-install.png) Connect the assembled hardware to the PC with a USB cable, open the Arduino, and select the development board and port in the tool menu. -![image-20200716115631123](images/image-board-info.png) +![ard-install-21](../../../assets/Arduino/ard-install-21.png) @@ -218,7 +218,7 @@ void loop(void) { The test results are as follows: -![image-20200717115335286](images/MovingLogo.jpg) +exa-rak1921-logo diff --git a/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-U8g2lib.png b/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-U8g2lib.png deleted file mode 100644 index 0fc9ce1..0000000 Binary files a/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-U8g2lib.png and /dev/null differ diff --git a/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-board-info.png b/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-board-info.png deleted file mode 100644 index d827fe7..0000000 Binary files a/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-board-info.png and /dev/null differ diff --git a/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-harware.png b/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-harware.png deleted file mode 100644 index 8d8c9e0..0000000 Binary files a/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-harware.png and /dev/null differ diff --git a/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-ssd1306-128-64.png b/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-ssd1306-128-64.png deleted file mode 100644 index afc6224..0000000 Binary files a/examples/sensors/RAK1921_Moving_Logo_SSD1306/images/image-ssd1306-128-64.png and /dev/null differ diff --git a/examples/sensors/RAK1921_OLED_SSD1306/RAK1921_OLED_SSD1306.ino b/examples/sensors/RAK1921_OLED_SSD1306/RAK1921_OLED_SSD1306.ino index c1a4358..4db1a84 100644 --- a/examples/sensors/RAK1921_OLED_SSD1306/RAK1921_OLED_SSD1306.ino +++ b/examples/sensors/RAK1921_OLED_SSD1306/RAK1921_OLED_SSD1306.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include diff --git a/examples/sensors/RAK1921_OLED_SSD1306/README.md b/examples/sensors/RAK1921_OLED_SSD1306/README.md index a9402d2..15f825c 100644 --- a/examples/sensors/RAK1921_OLED_SSD1306/README.md +++ b/examples/sensors/RAK1921_OLED_SSD1306/README.md @@ -2,7 +2,7 @@ This example shows how to use WisBlock IO RAK1921 which is an OLED SSD1306(128*64, I2C) board. -![image-20200716171116461.png](images/image-ssd1306-128-64.png) +rak1921 ---- ## Hardware required @@ -18,11 +18,11 @@ The following hardware are required. Hardware is shown as follows: -![image-harware.png](images/image-harware.png) +![exa-rak1921-rak1906-assy](../../../assets/repo/exa-rak1921-rak1906-assy.png) Assembled as follows: -![image-RAK1906-assemble](images/image-RAK1906-assemble.png) +![exa-rak1921-rak1906-assy-2](../../../assets/repo/exa-rak1921-rak1906-assy-2.png) For stable connection, please use screws to tighten. @@ -35,19 +35,19 @@ To use the environment WisBlock Sensor RAK1906, The following software is requir - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - U8g2 library -![image-20200716164627030](images/image-U8g2lib.png) +![lib-u8g-install](../../../assets/Arduino/lib-u8g-install.png) - CloseCube BME680 Library -![image-20200716105611448](images/image-ClosedCubeBME680.png) +![lib-bme680-install](../../../assets/Arduino/lib-bme680-install.png) Connect the assembled hardware to the PC with a USB cable, open the Arduino, and select the development board and port in the tool menu. -![image-20200716115631123](images/image-board-info.png) +![ard-install-21](../../../assets/Arduino/ard-install-21.png) @@ -151,7 +151,7 @@ void loop() The test results are as follows: -![image-20200717115335286](images/image-bme680-data.png) +![exa-rak1921-temp](../../../assets/Examples/exa-rak1921-temp.png) diff --git a/examples/sensors/RAK1921_OLED_SSD1306/images/image-ClosedCubeBME680.png b/examples/sensors/RAK1921_OLED_SSD1306/images/image-ClosedCubeBME680.png deleted file mode 100644 index 3f426aa..0000000 Binary files a/examples/sensors/RAK1921_OLED_SSD1306/images/image-ClosedCubeBME680.png and /dev/null differ diff --git a/examples/sensors/RAK1921_OLED_SSD1306/images/image-RAK1906-assemble.png b/examples/sensors/RAK1921_OLED_SSD1306/images/image-RAK1906-assemble.png deleted file mode 100644 index 6c91124..0000000 Binary files a/examples/sensors/RAK1921_OLED_SSD1306/images/image-RAK1906-assemble.png and /dev/null differ diff --git a/examples/sensors/RAK1921_OLED_SSD1306/images/image-U8g2lib.png b/examples/sensors/RAK1921_OLED_SSD1306/images/image-U8g2lib.png deleted file mode 100644 index 0fc9ce1..0000000 Binary files a/examples/sensors/RAK1921_OLED_SSD1306/images/image-U8g2lib.png and /dev/null differ diff --git a/examples/sensors/RAK1921_OLED_SSD1306/images/image-board-info.png b/examples/sensors/RAK1921_OLED_SSD1306/images/image-board-info.png deleted file mode 100644 index d827fe7..0000000 Binary files a/examples/sensors/RAK1921_OLED_SSD1306/images/image-board-info.png and /dev/null differ diff --git a/examples/sensors/RAK1921_OLED_SSD1306/images/image-ssd1306-128-64.png b/examples/sensors/RAK1921_OLED_SSD1306/images/image-ssd1306-128-64.png deleted file mode 100644 index afc6224..0000000 Binary files a/examples/sensors/RAK1921_OLED_SSD1306/images/image-ssd1306-128-64.png and /dev/null differ diff --git a/examples/sensors/RAK4630_Battery_Level_Detect/README.md b/examples/sensors/RAK4630_Battery_Level_Detect/README.md index 0f7d6bc..f913f61 100644 --- a/examples/sensors/RAK4630_Battery_Level_Detect/README.md +++ b/examples/sensors/RAK4630_Battery_Level_Detect/README.md @@ -10,21 +10,21 @@ It includes as well the OTA DFU functionality - LiPo battery The hardware is connected like this: -![image-20200729112923398](./images/image-harware.png) +![exa-battlevel-assy](../../../assets/repo/exa-battlevel-assy.png) ## Required software - [ArduinoIDE](https://www.arduino.cc/en/Main/Software) - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - nRF52_OLED library -![image-20200729103802106](./images/image-nrf52-oled.png) +![lib-oled-install](../../../assets/Arduino/lib-oled-install.png) - On the phone - a BLE UART application like [Serial Bluetooth Terminal](https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal) to test BLE UART communication Connect the assembled hardware to the PC with a USB cable, open the Arduino, and select the development board and port in the tool menu. -![image-20200716115631123](images/image-board-info.png) +![ard-install-21](../../../assets/Arduino/ard-install-21.png) ## Source codes @@ -406,14 +406,14 @@ void dispShow(void) The battery level displays on RAK1921 is as bellow. -![image-20200729114425306](./images/image-battery-level-on-oled.png) +![exa-batt-level](../../../assets/Examples/exa-batt-level.png) Open the [Serial Bluetooth Terminal](https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal) on the phone, scan the BLE "**RAK4631_BATT_TEST**" and connect it. -![image-20200729115306278](./images/image-ble-scan.png) +![exa-batt-level-ble-1](../../../assets/Examples/exa-batt-level-ble-1.png) Then the battery level display on the phone as bellow. -![image-20200729114650086](./images/image-battery-level-on-phone.png) +![exa-batt-level-ble-2](../../../assets/Examples/exa-batt-level-ble-2.png) diff --git a/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/Read_Battery_Level.ino b/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/Read_Battery_Level.ino index 4deb55c..e87f735 100644 --- a/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/Read_Battery_Level.ino +++ b/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/Read_Battery_Level.ino @@ -9,13 +9,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include diff --git a/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/ble.ino b/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/ble.ino index 9cfd589..3b4718f 100644 --- a/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/ble.ino +++ b/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/ble.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #ifdef NRF52_SERIES diff --git a/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/display.ino b/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/display.ino index c4b2c7b..faa8899 100644 --- a/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/display.ino +++ b/examples/sensors/RAK4630_Battery_Level_Detect/Read_Battery_Level/display.ino @@ -9,13 +9,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include diff --git a/examples/sensors/RAK4630_Battery_Level_Detect/images/image-board-info.png b/examples/sensors/RAK4630_Battery_Level_Detect/images/image-board-info.png deleted file mode 100644 index c814fc7..0000000 Binary files a/examples/sensors/RAK4630_Battery_Level_Detect/images/image-board-info.png and /dev/null differ diff --git a/examples/sensors/RAK5801_4-20mA/Images/RAK4631_Back_01.png b/examples/sensors/RAK5801_4-20mA/Images/RAK4631_Back_01.png deleted file mode 100644 index b317e7f..0000000 Binary files a/examples/sensors/RAK5801_4-20mA/Images/RAK4631_Back_01.png and /dev/null differ diff --git a/examples/sensors/RAK5801_4-20mA/Images/RAK4631_Front_01.png b/examples/sensors/RAK5801_4-20mA/Images/RAK4631_Front_01.png deleted file mode 100644 index dd31bd2..0000000 Binary files a/examples/sensors/RAK5801_4-20mA/Images/RAK4631_Front_01.png and /dev/null differ diff --git a/examples/sensors/RAK5801_4-20mA/Images/RAK5005-O_45_02.png b/examples/sensors/RAK5801_4-20mA/Images/RAK5005-O_45_02.png deleted file mode 100644 index 75a73d8..0000000 Binary files a/examples/sensors/RAK5801_4-20mA/Images/RAK5005-O_45_02.png and /dev/null differ diff --git a/examples/sensors/RAK5801_4-20mA/Images/RAK5801_45_02.png b/examples/sensors/RAK5801_4-20mA/Images/RAK5801_45_02.png deleted file mode 100644 index 01d50ce..0000000 Binary files a/examples/sensors/RAK5801_4-20mA/Images/RAK5801_45_02.png and /dev/null differ diff --git a/examples/sensors/RAK5801_4-20mA/Images/RAK5801_Back_01.png b/examples/sensors/RAK5801_4-20mA/Images/RAK5801_Back_01.png deleted file mode 100644 index 6cc606e..0000000 Binary files a/examples/sensors/RAK5801_4-20mA/Images/RAK5801_Back_01.png and /dev/null differ diff --git a/examples/sensors/RAK5801_4-20mA/RAK5801_4-20mA.ino b/examples/sensors/RAK5801_4-20mA/RAK5801_4-20mA.ino index f44c872..96bef38 100644 --- a/examples/sensors/RAK5801_4-20mA/RAK5801_4-20mA.ino +++ b/examples/sensors/RAK5801_4-20mA/RAK5801_4-20mA.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include diff --git a/examples/sensors/RAK5801_4-20mA/Readme.md b/examples/sensors/RAK5801_4-20mA/Readme.md index 9775e40..4bfb5e9 100644 --- a/examples/sensors/RAK5801_4-20mA/Readme.md +++ b/examples/sensors/RAK5801_4-20mA/Readme.md @@ -4,7 +4,9 @@ ## 1.Introduction -This guide introducts what is 4-20mA current loop and shows how to connect this module and the transmitter and explains how to program. This module was designed for WisBlock Base RAK5005-O. +This guide introduces the 4-20mA current loop and shows how to connect this module and the transmitter and explains how to program. This module was designed for WisBlock Base RAK5005-O. + +rak5801 ### 1.1. The standard @@ -27,7 +29,7 @@ This list is typical application of the standard: - Monitoring processes - Data transmission in industrial ambients -![](Images/4-20_mA_standard_typical_connection_diagram.png) +exa-rak5801-standard4-20_mA_standard_typical_connection_diagram ### 1.2.Transmitter Wiring @@ -36,21 +38,21 @@ This list is typical application of the standard: 2-Wire transmitters are energized by the current loop, where the supply voltage is included in the receptor. The transmitter is floating and the ground is in the receptor. -![](Images/2-wire.png) +exa-rak5801-2-wire #### 1.2.2. 3-Wire 3-Wire transmitters have 3 wires powered by the source voltage in them. In this case the transmitter is the power source for the current loop. The transmitter common is connected to the common of the receptor. -![](Images/3-wire.png) +exa-rak5801-3-wire #### 1.2.3. 4-Wire 4-Wire transmitters have 4 wires powered by the source voltage in them. The transmitter powers the current loop and the receptor acts a floating load. -![](Images/4-wire.png) +exa-rak5801-4-wire ### 1.3.Signal conversion @@ -68,17 +70,17 @@ To build this system the WisBlock Core RAK4631 microcontroller is using the RAK5 - WisBlock Base RAK5005-O -![](Images/RAK5005-O_45_02.png) +rak5005-o-top-tilt - WisBlock Core RAK4631 - ![](Images/RAK4631_Back_01.png) + RAK4631 - ![](Images/RAK4631_Front_01.png) + - WisBlock IO RAK5801 - ![](Images/RAK5801_45_02.png) + rak5801 ### 2.2.Electrical characteristics @@ -87,7 +89,7 @@ To build this system the WisBlock Core RAK4631 microcontroller is using the RAK5 ### 2.3. Powering sensors from the WisBlock IO RAK5801 4-20mA board -The 4-20mA Module includes a 12 V power which is controled by MCU,GPIO 0.17. This GPIO must be set to **HIGH** before sampling. The power also can be used as power supply for sensors. The majority of 4-20 mA sensor works in the 9-24 V range. Before connecting a sensor to the 4-20 mA module, you must be sure that 12 V fits the sensor’s range of the power supply. +The 4-20mA Module includes a 12 V power which is controlled by MCU,GPIO 0.17. This GPIO must be set to **HIGH** before sampling. The power also can be used as power supply for sensors. The majority of 4-20 mA sensor works in the 9-24 V range. Before connecting a sensor to the 4-20 mA module, you must be sure that 12 V fits the sensor’s range of the power supply. ### 2.4. Connection diagram @@ -95,17 +97,17 @@ The 4-20 mA Module for WisBlock Core RAK4631 has one input channels which allow 2.4.1. 2-wire connection -![](Images/RAK5801_2-wire.png) +RAK5801_2-wire 2.4.2. 3-wire connection -![](Images/RAK5801_3-wire.png) +RAK5801_3-wire 2.4.3. 4-wire connection *Note: The transmitter and 4-20mA module use separate power supplies. It is assumed that the power to drive the 4-20mA loop is derived from the control panel.* -![](Images/RAK5801_4-wire.png) +RAK5801_4-wire ## 3.How to program based on Arduino diff --git a/examples/sensors/RAK5802_RS485/Images/RAK4631_Back_01.png b/examples/sensors/RAK5802_RS485/Images/RAK4631_Back_01.png deleted file mode 100644 index b317e7f..0000000 Binary files a/examples/sensors/RAK5802_RS485/Images/RAK4631_Back_01.png and /dev/null differ diff --git a/examples/sensors/RAK5802_RS485/Images/RAK4631_Front_01.png b/examples/sensors/RAK5802_RS485/Images/RAK4631_Front_01.png deleted file mode 100644 index dd31bd2..0000000 Binary files a/examples/sensors/RAK5802_RS485/Images/RAK4631_Front_01.png and /dev/null differ diff --git a/examples/sensors/RAK5802_RS485/Images/RAK5005-O_45_02.png b/examples/sensors/RAK5802_RS485/Images/RAK5005-O_45_02.png deleted file mode 100644 index 75a73d8..0000000 Binary files a/examples/sensors/RAK5802_RS485/Images/RAK5005-O_45_02.png and /dev/null differ diff --git a/examples/sensors/RAK5802_RS485/Images/RAK5802_45_03.png b/examples/sensors/RAK5802_RS485/Images/RAK5802_45_03.png deleted file mode 100644 index 5597045..0000000 Binary files a/examples/sensors/RAK5802_RS485/Images/RAK5802_45_03.png and /dev/null differ diff --git a/examples/sensors/RAK5802_RS485/Images/RAK5802_Back_01.png b/examples/sensors/RAK5802_RS485/Images/RAK5802_Back_01.png deleted file mode 100644 index c30e1f4..0000000 Binary files a/examples/sensors/RAK5802_RS485/Images/RAK5802_Back_01.png and /dev/null differ diff --git a/examples/sensors/RAK5802_RS485/Images/RAK5802_Front_01.png b/examples/sensors/RAK5802_RS485/Images/RAK5802_Front_01.png deleted file mode 100644 index 08b60ec..0000000 Binary files a/examples/sensors/RAK5802_RS485/Images/RAK5802_Front_01.png and /dev/null differ diff --git a/examples/sensors/RAK5802_RS485/Images/lm.png b/examples/sensors/RAK5802_RS485/Images/lm.png deleted file mode 100644 index a94d467..0000000 Binary files a/examples/sensors/RAK5802_RS485/Images/lm.png and /dev/null differ diff --git a/examples/sensors/RAK5802_RS485/Readme.md b/examples/sensors/RAK5802_RS485/Readme.md index 9a3c463..3bfab70 100644 --- a/examples/sensors/RAK5802_RS485/Readme.md +++ b/examples/sensors/RAK5802_RS485/Readme.md @@ -7,6 +7,8 @@ This guide introduces the WisBlock IO RAK5802 RS485 board features and explains how to program, communicate with two this modules. This module was designed for WisBlock Base RAK5005-O. You can get more information about using the Modbus Protocol on the document “WisBlock IO RS485 Application Tutorial(*There needs to be a link here*)”. +rak5802 + ### 1.1 RS485 standard **RS-485**, also known as **TIA-485(-A)** or **EIA-485**, is a standard defining the electrical characteristics of drivers and receivers for use in serial communications systems. Electrical signaling is balanced, and multipoint systems are supported. The standard is jointly published by the [Telecommunications Industry Association](https://en.wikipedia.org/wiki/Telecommunications_Industry_Association) and [Electronic Industries Alliance](https://en.wikipedia.org/wiki/Electronic_Industries_Alliance) (TIA/EIA). Digital communications networks implementing the standard can be used effectively over long distances and in electrically noisy environments. Multiple receivers may be connected to such a network in a linear, multidrop bus. These characteristics make RS-485 useful in industrial control systems and similar applications. @@ -19,19 +21,19 @@ To build this system the WisBlock Core RAK4631 microcontroller is using the RAK5 - WisBlock Base RAK5005-O - ![](Images/RAK5005-O_45_02.png) + rak5005-o-top-tilt - WisBlock Core RAK4631 - ![](Images/RAK4631_Back_01.png) + RAK4631 - ![](Images/RAK4631_Front_01.png) + - WisBlock IO RAK5802 - ![](Images/RAK5802_45_03.png) + rak5802 - ![](Images/RAK5802_Front_01.png) + ### 2.2.FEATURES @@ -51,7 +53,7 @@ To build this system the WisBlock Core RAK4631 microcontroller is using the RAK5 ### 2.3.Connection diagram -![](Images/cd.png) +exa-rak5802 ## 3.How to program based on Arduino @@ -68,11 +70,11 @@ We need to install this Arduino IDE library to control the WisBlock IO RAK5802 R The Arduino Library Manager was added starting with Arduino IDE versions 1.5 and greater (1.6.x). It is found in the 'Sketch' menu under 'Include Library', 'Manage Libraries...' -![](Images/lm.png) +![lib-manager](../../../assets/Arduino/lib-manager.png) When you open the Library Manager you will find a large list of libraries ready for one-click install. To find a library for your product, search for a keyword such as 'RS485', and the library 'Arduino RS485' should show up. Click on the desired library, and the 'Install' button will appear. Click that button, and the library should install automatically. When installation finishes, close the Library Manager. -![](Images\Arduino_RS485.png) +![lib-rs485-install](../../../assets/Arduino/lib-rs485-install.png) ### 3.3. Initializes the RS485 communication speed diff --git a/examples/sensors/RAK5802_RS485/Receiver/Receiver.ino b/examples/sensors/RAK5802_RS485/Receiver/Receiver.ino index ab4d0ab..a8059cc 100644 --- a/examples/sensors/RAK5802_RS485/Receiver/Receiver.ino +++ b/examples/sensors/RAK5802_RS485/Receiver/Receiver.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include //Click here to get the library: http://librarymanager/All#ArduinoRS485 diff --git a/examples/sensors/RAK5802_RS485/Sender/Sender.ino b/examples/sensors/RAK5802_RS485/Sender/Sender.ino index 059d2f9..28816e7 100644 --- a/examples/sensors/RAK5802_RS485/Sender/Sender.ino +++ b/examples/sensors/RAK5802_RS485/Sender/Sender.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include //Click here to get the library: http://librarymanager/All#ArduinoRS485 diff --git a/examples/sensors/RAK5811_0-5V/Images/RAK4631_Back_01.png b/examples/sensors/RAK5811_0-5V/Images/RAK4631_Back_01.png deleted file mode 100644 index b317e7f..0000000 Binary files a/examples/sensors/RAK5811_0-5V/Images/RAK4631_Back_01.png and /dev/null differ diff --git a/examples/sensors/RAK5811_0-5V/Images/RAK4631_Front_01.png b/examples/sensors/RAK5811_0-5V/Images/RAK4631_Front_01.png deleted file mode 100644 index dd31bd2..0000000 Binary files a/examples/sensors/RAK5811_0-5V/Images/RAK4631_Front_01.png and /dev/null differ diff --git a/examples/sensors/RAK5811_0-5V/Images/RAK5005-O_45_02.png b/examples/sensors/RAK5811_0-5V/Images/RAK5005-O_45_02.png deleted file mode 100644 index 75a73d8..0000000 Binary files a/examples/sensors/RAK5811_0-5V/Images/RAK5005-O_45_02.png and /dev/null differ diff --git a/examples/sensors/RAK5811_0-5V/Images/RAK5811_45_02.png b/examples/sensors/RAK5811_0-5V/Images/RAK5811_45_02.png deleted file mode 100644 index ae5570a..0000000 Binary files a/examples/sensors/RAK5811_0-5V/Images/RAK5811_45_02.png and /dev/null differ diff --git a/examples/sensors/RAK5811_0-5V/Images/RAK5811_Back_01.png b/examples/sensors/RAK5811_0-5V/Images/RAK5811_Back_01.png deleted file mode 100644 index 76d56cd..0000000 Binary files a/examples/sensors/RAK5811_0-5V/Images/RAK5811_Back_01.png and /dev/null differ diff --git a/examples/sensors/RAK5811_0-5V/RAK5811_0-5V.ino b/examples/sensors/RAK5811_0-5V/RAK5811_0-5V.ino index 5dab590..a8239bd 100644 --- a/examples/sensors/RAK5811_0-5V/RAK5811_0-5V.ino +++ b/examples/sensors/RAK5811_0-5V/RAK5811_0-5V.ino @@ -8,13 +8,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include diff --git a/examples/sensors/RAK5811_0-5V/Readme.md b/examples/sensors/RAK5811_0-5V/Readme.md index 3000ebc..bf560ef 100644 --- a/examples/sensors/RAK5811_0-5V/Readme.md +++ b/examples/sensors/RAK5811_0-5V/Readme.md @@ -22,15 +22,15 @@ To build this system the WisBlock Core RAK4631 microcontroller is using the RAK5 - WisBlock Base RAK5005-O -![](Images/RAK5005-O_45_02.png) +rak5005-o-top-tilt - WisBlock Core RAK4631 -![](Images/RAK4631_Back_01.png)![](Images/RAK4631_Front_01.png) +RAK4631 - WisBlock IO RAK5811 -![](Images/RAK5811_45_02.png)![](Images/RAK5811_Back_01.png) +rak5811 ### 2.2.Electrical characteristics @@ -44,7 +44,7 @@ The Module includes a 12 V power which is controled by RAK4631,GPIO 0.17. This G ### 2.4. Connection diagram -![](Images/RAK5811_Front_01.png) +exa-rak5811-wire ## 3.How to program based on Arduino diff --git a/examples/solutions/BLE_Gateway/README.md b/examples/solutions/BLE_Gateway/README.md index f91bc99..3bb984e 100644 --- a/examples/solutions/BLE_Gateway/README.md +++ b/examples/solutions/BLE_Gateway/README.md @@ -2,7 +2,7 @@ ---- This example shows how to setup two WisBlock devices. Device A acts as a environmental condition sensor and sends its sensor data over BLE. Device B acts as a gateway between the BLE sensor and LoRaWan®. With this solution we demonstrate how the communication range of BLE sensors can be extended by forwarding sensor data from BLE to LoRaWan®. -![image-20200713144806141.png](images/image-20200713144806141.png) +![exa-ble-solution](../../../assets/Examples/exa-ble-solution.png) ## Hardware required ---- @@ -15,7 +15,7 @@ The sensor node uses a WisBlock Core RAK4631 microcontroller and the WisBlock Se The assembly of sensor node is as follows: -![image-20200713104859416](images/image-20200713104859416.png) +![exa-ble-rak1906-assy](../../../assets/repo/exa-ble-rak1906-assy.png) @@ -23,7 +23,7 @@ The gateway uses a WisBlock Core RAK4631 microcontroller and no additional modul The assembly of gateway is as follows: -![image-20200713104134045](images/image-20200713104134045.png) +![exa-ble-gateway](../../../assets/repo/exa-ble-gateway.png) For stable connection, please use screws to tighten. @@ -35,11 +35,11 @@ For stable connection, please use screws to tighten. - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - CloseCube_BME680 library -![image-20200717120930209](images/image-bme680-lib.png) +![lib-bme680-install](../../../assets/Arduino/lib-bme680-install.png) - SX126x-Arduino - ![image-20200717120820639](images/image-sx126x-lib.png) + ![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) ---- diff --git a/examples/solutions/BLE_Gateway/ble_environment_node/ble_environment_node.ino b/examples/solutions/BLE_Gateway/ble_environment_node/ble_environment_node.ino index c1536b9..c0ac068 100644 --- a/examples/solutions/BLE_Gateway/ble_environment_node/ble_environment_node.ino +++ b/examples/solutions/BLE_Gateway/ble_environment_node/ble_environment_node.ino @@ -10,13 +10,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include diff --git a/examples/solutions/BLE_Gateway/ble_gateway/ble_gateway.ino b/examples/solutions/BLE_Gateway/ble_gateway/ble_gateway.ino index b7a6de2..0a0bb07 100644 --- a/examples/solutions/BLE_Gateway/ble_gateway/ble_gateway.ino +++ b/examples/solutions/BLE_Gateway/ble_gateway/ble_gateway.ino @@ -10,13 +10,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include diff --git a/examples/solutions/BLE_Gateway/images/image-bme680-lib.png b/examples/solutions/BLE_Gateway/images/image-bme680-lib.png deleted file mode 100644 index 3f426aa..0000000 Binary files a/examples/solutions/BLE_Gateway/images/image-bme680-lib.png and /dev/null differ diff --git a/examples/solutions/BLE_Gateway/images/image-sx126x-lib.png b/examples/solutions/BLE_Gateway/images/image-sx126x-lib.png deleted file mode 100644 index 68875c1..0000000 Binary files a/examples/solutions/BLE_Gateway/images/image-sx126x-lib.png and /dev/null differ diff --git a/examples/solutions/Environment_Monitoring/Environment_Monitoring.ino b/examples/solutions/Environment_Monitoring/Environment_Monitoring.ino index 9016533..f3763c1 100644 --- a/examples/solutions/Environment_Monitoring/Environment_Monitoring.ino +++ b/examples/solutions/Environment_Monitoring/Environment_Monitoring.ino @@ -9,13 +9,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include @@ -63,7 +67,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!! KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x22, 0x22, 0x22, 0x22}; diff --git a/examples/solutions/Environment_Monitoring/README.md b/examples/solutions/Environment_Monitoring/README.md index 5398b4d..75d28a7 100644 --- a/examples/solutions/Environment_Monitoring/README.md +++ b/examples/solutions/Environment_Monitoring/README.md @@ -29,7 +29,7 @@ To build this system, the following hardware are required: - WisBlock Core RAK4631 * 1pcs - WisBlock Sensor RAK1906 * 1pcs -![image-harware](res/image-harware.png) +![exa-rak1906-assy](../../../assets/repo/exa-rak1906-assy.png) ### Software required @@ -39,11 +39,11 @@ To build this system, the following hardware are required: - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - ClosedCube BME680 library -![image-ClosedCubeBME680](res/image-ClosedCubeBME680.png) +![lib-bme680-install](../../../assets/Arduino/lib-bme680-install.png) - SX126x-Arduino library -![3](res/3.png) +![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) The code for the environment sensor node is as follows: ```cpp @@ -376,7 +376,7 @@ void bme680_get() Data arrives at LoRaWAN® server. -![2](res/2.png) +![exa-env-mon-data](../../../assets/Examples/exa-env-mon-data.png) diff --git a/examples/solutions/Environment_Monitoring/res/3.png b/examples/solutions/Environment_Monitoring/res/3.png deleted file mode 100644 index 04b5a11..0000000 Binary files a/examples/solutions/Environment_Monitoring/res/3.png and /dev/null differ diff --git a/examples/solutions/Environment_Monitoring/res/image-ClosedCubeBME680.png b/examples/solutions/Environment_Monitoring/res/image-ClosedCubeBME680.png deleted file mode 100644 index 3f426aa..0000000 Binary files a/examples/solutions/Environment_Monitoring/res/image-ClosedCubeBME680.png and /dev/null differ diff --git a/examples/solutions/Environment_Monitoring/res/image-harware.png b/examples/solutions/Environment_Monitoring/res/image-harware.png deleted file mode 100644 index 4151c1d..0000000 Binary files a/examples/solutions/Environment_Monitoring/res/image-harware.png and /dev/null differ diff --git a/examples/solutions/GPS_Tracker/GPS_Tracker.ino b/examples/solutions/GPS_Tracker/GPS_Tracker.ino index b52cb72..a2a2732 100644 --- a/examples/solutions/GPS_Tracker/GPS_Tracker.ino +++ b/examples/solutions/GPS_Tracker/GPS_Tracker.ino @@ -10,13 +10,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include @@ -61,7 +65,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!! KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; diff --git a/examples/solutions/GPS_Tracker/README.md b/examples/solutions/GPS_Tracker/README.md index 6357b2c..8ab4202 100644 --- a/examples/solutions/GPS_Tracker/README.md +++ b/examples/solutions/GPS_Tracker/README.md @@ -27,7 +27,7 @@ To build this system, the following hardware are required: - WisBlock Sensor RAK1904 * 1pcs - WisBlock Sensor RAK1910 * 1pcs -![1](res/1.png) +![exa-tracker-assy](../../../assets/repo/exa-tracker-assy.png) ### Software required @@ -37,11 +37,11 @@ To build this system, the following hardware are required: - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - SparkFun LIS3DH Arduino library -![2](res/2.png) +![lib-lis3dh-install](../../../assets/Arduino/lib-lis3dh-install.png) - SX126x-Arduino library -![3](res/3.png) +![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) The code for the GPS tracker node is as follows: ```cpp @@ -392,7 +392,7 @@ uint32_t timers_init(void) Data arrives at LoRaWAN® server. -![4](res/4.png) +![exa-tracker-data](../../../assets/Examples/exa-tracker-data.png) diff --git a/examples/solutions/GPS_Tracker/res/2.png b/examples/solutions/GPS_Tracker/res/2.png deleted file mode 100644 index b5a979a..0000000 Binary files a/examples/solutions/GPS_Tracker/res/2.png and /dev/null differ diff --git a/examples/solutions/GPS_Tracker/res/3.png b/examples/solutions/GPS_Tracker/res/3.png deleted file mode 100644 index 04b5a11..0000000 Binary files a/examples/solutions/GPS_Tracker/res/3.png and /dev/null differ diff --git a/examples/solutions/Hydraulic_Pressure_Monitoring/Hydraulic_Pressure_Monitoring.ino b/examples/solutions/Hydraulic_Pressure_Monitoring/Hydraulic_Pressure_Monitoring.ino index bc9945d..8438560 100644 --- a/examples/solutions/Hydraulic_Pressure_Monitoring/Hydraulic_Pressure_Monitoring.ino +++ b/examples/solutions/Hydraulic_Pressure_Monitoring/Hydraulic_Pressure_Monitoring.ino @@ -9,13 +9,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include @@ -57,7 +61,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!! KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x67, 0x79, 0x6e, 0xad, 0xf6, 0xab, 0xd2, 0x16}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77}; diff --git a/examples/solutions/Hydraulic_Pressure_Monitoring/README.md b/examples/solutions/Hydraulic_Pressure_Monitoring/README.md index 7577b20..5b510e7 100644 --- a/examples/solutions/Hydraulic_Pressure_Monitoring/README.md +++ b/examples/solutions/Hydraulic_Pressure_Monitoring/README.md @@ -1,5 +1,5 @@ ## Hydraulic Pressure Monitoring over LoRaWAN® -![image-solution](./images/image-solution.png) +![exa-hydr-press-system](../../../assets/Examples/exa-hydr-press-system.png) This solution shows how to create an hydraulic pressure monitor node. The monitor node measures hydraulic pressure from a sensor with a 4-20mA interface. It then transmits this data frequently over LoRaWan® to a LoRaWan® server. At the LoRaWan® server the data arrives in the following format @@ -27,20 +27,20 @@ To build this system, the following hardware are required: The assembly of sensor node is as follows: -![image-assemble](./images/image-assemble.png) +![exa-hydr-press-assy](../../../assets/repo/exa-hydr-press-assy.png) We choose a 2-wire hydraulic pressure sensor in this example, So we only need to connect the signal and power as the picture above. The test scenario is shown as follows: -![image-test](./images/image-test.png) +![exa-hydr-press-assy](../../../assets/Examples/exa-hydr-press-assy.png) ### Software required - [Arduino IDE](https://www.arduino.cc/en/Main/Software) - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - SX126x-Arduino library -![image-sx126x-lib.png](./images/image-sx126x-lib.png) +![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) The code for the hydraulic pressure sensor node is as follows: ```cpp @@ -337,7 +337,7 @@ The log of sensor node is shown as follows: We use Chirpstack as LoRaWAN® server in this solution, the data sent to LoRaWAN® server is shown as follows: -![image-chirpstack](./images/image-chirpstack.png) +![exa-hydr-press-data](../../../assets/Examples/exa-hydr-press-data.png) diff --git a/examples/solutions/Hydraulic_Pressure_Monitoring/images/image-sx126x-lib.png b/examples/solutions/Hydraulic_Pressure_Monitoring/images/image-sx126x-lib.png deleted file mode 100644 index 3607a3f..0000000 Binary files a/examples/solutions/Hydraulic_Pressure_Monitoring/images/image-sx126x-lib.png and /dev/null differ diff --git a/examples/solutions/Inteligence_Agriculture/Inteligence_Agriculture.ino b/examples/solutions/Inteligence_Agriculture/Inteligence_Agriculture.ino index 12ccbbb..0b99ee5 100644 --- a/examples/solutions/Inteligence_Agriculture/Inteligence_Agriculture.ino +++ b/examples/solutions/Inteligence_Agriculture/Inteligence_Agriculture.ino @@ -9,13 +9,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include //http://librarymanager/All#ArduinoModbus //http://librarymanager/All#ArduinoRS485 @@ -57,7 +61,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!! KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; diff --git a/examples/solutions/Inteligence_Agriculture/README.md b/examples/solutions/Inteligence_Agriculture/README.md index 3b20c2d..98e1d43 100644 --- a/examples/solutions/Inteligence_Agriculture/README.md +++ b/examples/solutions/Inteligence_Agriculture/README.md @@ -1,7 +1,7 @@ ## Inteligence Agriculture based on LoRaWAN® ### 1. Introduction -![](Images/arch.png) +![exa-agri-arch](../../../assets/Examples/exa-agri-arch.png) This solution shows how to create an agriculture monitor node. The monitor node measures pH conductivity, air temperature, air humidity, photosynthetically active radiation (PAR), soil conductivity, soil humidity and wind speed from a agriculture sensor system with a RS485 interface. It then transmits this data frequently over LoRaWan® to a LoRaWan® server. @@ -49,7 +49,7 @@ WisBlock IO RAK5802 * 1pcs This solutions diagram: -![](Images/system.png) +![exa-agri-solution](../../../assets/Examples/exa-agri-solution.png) ### 3. Software required @@ -61,13 +61,11 @@ This solutions diagram: #### 3.1 Install library -![image-20200813114940927](assets/image-20200813114940927.png) +![lib-rs485-install](../../../assets/Arduino/lib-rs485-install.png) -![image-20200813115001502](assets/image-20200813115001502.png) +![lib-modbus-install](../../../assets/Arduino/lib-modbus-install.png) -![image-20200813115016466](assets/image-20200813115016466.png) - -![image-20200813115030189](assets/image-20200813115030189.png) +![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) ### 4. Example diff --git a/examples/solutions/Inteligence_Agriculture/assets/image-20200813114940927.png b/examples/solutions/Inteligence_Agriculture/assets/image-20200813114940927.png deleted file mode 100644 index 5851c01..0000000 Binary files a/examples/solutions/Inteligence_Agriculture/assets/image-20200813114940927.png and /dev/null differ diff --git a/examples/solutions/Inteligence_Agriculture/assets/image-20200813115001502.png b/examples/solutions/Inteligence_Agriculture/assets/image-20200813115001502.png deleted file mode 100644 index 7702fa5..0000000 Binary files a/examples/solutions/Inteligence_Agriculture/assets/image-20200813115001502.png and /dev/null differ diff --git a/examples/solutions/Inteligence_Agriculture/assets/image-20200813115030189.png b/examples/solutions/Inteligence_Agriculture/assets/image-20200813115030189.png deleted file mode 100644 index 4bf774d..0000000 Binary files a/examples/solutions/Inteligence_Agriculture/assets/image-20200813115030189.png and /dev/null differ diff --git a/examples/solutions/PAR_Monitoring/Images/Arduino_Modbus.png b/examples/solutions/PAR_Monitoring/Images/Arduino_Modbus.png deleted file mode 100644 index a64f056..0000000 Binary files a/examples/solutions/PAR_Monitoring/Images/Arduino_Modbus.png and /dev/null differ diff --git a/examples/solutions/PAR_Monitoring/Images/Arduino_RS485.png b/examples/solutions/PAR_Monitoring/Images/Arduino_RS485.png deleted file mode 100644 index 3773a5b..0000000 Binary files a/examples/solutions/PAR_Monitoring/Images/Arduino_RS485.png and /dev/null differ diff --git a/examples/solutions/PAR_Monitoring/Images/SX126x-Arduino.png b/examples/solutions/PAR_Monitoring/Images/SX126x-Arduino.png deleted file mode 100644 index e5ea2aa..0000000 Binary files a/examples/solutions/PAR_Monitoring/Images/SX126x-Arduino.png and /dev/null differ diff --git a/examples/solutions/PAR_Monitoring/Images/lm.png b/examples/solutions/PAR_Monitoring/Images/lm.png deleted file mode 100644 index 06fe659..0000000 Binary files a/examples/solutions/PAR_Monitoring/Images/lm.png and /dev/null differ diff --git a/examples/solutions/PAR_Monitoring/PAR_Monitoring.ino b/examples/solutions/PAR_Monitoring/PAR_Monitoring.ino index 4770334..a4378bc 100644 --- a/examples/solutions/PAR_Monitoring/PAR_Monitoring.ino +++ b/examples/solutions/PAR_Monitoring/PAR_Monitoring.ino @@ -9,13 +9,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include // Click here to get the library: http://librarymanager/All#ArduinoModbus @@ -60,7 +64,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!! KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; diff --git a/examples/solutions/PAR_Monitoring/README.md b/examples/solutions/PAR_Monitoring/README.md index 9116e99..dfcf580 100644 --- a/examples/solutions/PAR_Monitoring/README.md +++ b/examples/solutions/PAR_Monitoring/README.md @@ -3,7 +3,7 @@ ### 1. Introduction -![](Images/Arch.png) +![exa-par-solution](../../../assets/Examples/exa-par-solution.png) This solution shows how to create an agriculture sensor node. The sensor node measures photosynthetically active radiation (PAR) from a sensor with a RS485 interface. It then transmits this data frequently over LoRaWan to a LoRaWan server. At the LoRaWan server the data arrives in the following format @@ -27,7 +27,7 @@ If you want to know how to use the LoRa® communication with WisBlock. You can r All Modbus devices include a register map with the location and a description of the data stored in the registers. Modbus functions operate on register map to monitor, configure, and control the device’s inputs and outputs. You have to refer to the register map of your device to gain a better understanding of its operation. Modbus registers are organized into reference types identified by the leading number of the reference address. You can see below an example of how to read and write data in a Modbus device. -![](Images/Reg-map.png) +![exa-par-regmap](../../../assets/Examples/exa-par-regmap.png) In our example, we are going to read the PAR value from our device. We can see in the register map on above, the default Device Address is 1, the PAR value is stored in the register 0006H and is accessible with the function ModbusRTUClient.requestFrom(), and is stored in 16 bits format (2 bytes). @@ -55,9 +55,9 @@ WisBlock IO RAK5802 * 1pcs The assembly of sensor node is as follows: -![](Images/assembly.png) +![exa-par-assy](../../../assets/repo/exa-par-assy.png) -![](Images/system.png) +![exa-par-assy](../../../assets/Examples/exa-par-assy.png) ### 3. Software required @@ -69,13 +69,13 @@ The assembly of sensor node is as follows: #### 3.1 Install library -![](Images\lm.png) +![lib-manager](../../../assets/Arduino/lib-manager.png) -![](Images\Arduino_RS485.png) +![lib-rs485-install](../../../assets/Arduino/lib-rs485-install.png) -![](Images\Arduino_Modbus.png) +![lib-modbus-install](../../../assets/Arduino/lib-modbus-install.png) -![](Images\SX126x-Arduino.png) +![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) ### 4. Example @@ -376,6 +376,6 @@ lmh_send ok count 3 The logs of LoraWan Server is as follows: -![](Images/LoraWAN-Server-logs.png) +![exa-par-data](../../../assets/Examples/exa-par-data.png) LoRa® is a registered trademark or service mark of Semtech Corporation or its affiliates. LoRaWAN® is a licensed mark. \ No newline at end of file diff --git a/examples/solutions/Soil_Conductivity_Monitoring/Images/Arch.png b/examples/solutions/Soil_Conductivity_Monitoring/Images/Arch.png deleted file mode 100644 index 2509e35..0000000 Binary files a/examples/solutions/Soil_Conductivity_Monitoring/Images/Arch.png and /dev/null differ diff --git a/examples/solutions/Soil_Conductivity_Monitoring/Images/Arduino_Modbus.png b/examples/solutions/Soil_Conductivity_Monitoring/Images/Arduino_Modbus.png deleted file mode 100644 index a64f056..0000000 Binary files a/examples/solutions/Soil_Conductivity_Monitoring/Images/Arduino_Modbus.png and /dev/null differ diff --git a/examples/solutions/Soil_Conductivity_Monitoring/Images/Arduino_RS485.png b/examples/solutions/Soil_Conductivity_Monitoring/Images/Arduino_RS485.png deleted file mode 100644 index 3773a5b..0000000 Binary files a/examples/solutions/Soil_Conductivity_Monitoring/Images/Arduino_RS485.png and /dev/null differ diff --git a/examples/solutions/Soil_Conductivity_Monitoring/Images/SX126x-Arduino.png b/examples/solutions/Soil_Conductivity_Monitoring/Images/SX126x-Arduino.png deleted file mode 100644 index e5ea2aa..0000000 Binary files a/examples/solutions/Soil_Conductivity_Monitoring/Images/SX126x-Arduino.png and /dev/null differ diff --git a/examples/solutions/Soil_Conductivity_Monitoring/Images/assembly.png b/examples/solutions/Soil_Conductivity_Monitoring/Images/assembly.png deleted file mode 100644 index 55da27e..0000000 Binary files a/examples/solutions/Soil_Conductivity_Monitoring/Images/assembly.png and /dev/null differ diff --git a/examples/solutions/Soil_Conductivity_Monitoring/Images/lm.png b/examples/solutions/Soil_Conductivity_Monitoring/Images/lm.png deleted file mode 100644 index 06fe659..0000000 Binary files a/examples/solutions/Soil_Conductivity_Monitoring/Images/lm.png and /dev/null differ diff --git a/examples/solutions/Soil_Conductivity_Monitoring/README.md b/examples/solutions/Soil_Conductivity_Monitoring/README.md index 9730a3e..018df6e 100644 --- a/examples/solutions/Soil_Conductivity_Monitoring/README.md +++ b/examples/solutions/Soil_Conductivity_Monitoring/README.md @@ -3,7 +3,7 @@ ### 1. Introduction -![](Images/Arch.png) +![exa-par-solution](../../../assets/Examples/exa-par-solution.png) This solution shows how to create an agriculture soil conductivity sensor node. The sensor node measures the soil conductivity, soil temperature and soil humidity from a sensor with a RS485 interface. It then transmits this data frequently over LoRaWan® to a LoRaWan® server. At the LoRaWan® server the data arrives in the following format @@ -32,7 +32,7 @@ If you want to know how to use the LoRa® communication with WisBlock. You can r All Modbus devices include a register map with the location and a description of the data stored in the registers. Modbus functions operate on register map to monitor, configure, and control the device’s inputs and outputs. You have to refer to the register map of your device to gain a better understanding of its operation. Modbus registers are organized into reference types identified by the leading number of the reference address. You can see below an example of how to read and write data in a Modbus device. -![](Images/Reg-map.png) +![ex-soil-regmap](../../../assets/Examples/ex-soil-regmap.png) In our example, we are going to read the Soil Humidity Soil Temperature and Soil Conductivity from our device. We can see in the register map on above, the default Device Address is 1, the humidity value is stored in the register 0002H, the temperature value is stored in the register 0003H, the conductivity value is stored in the register 0015H and is accessible with the function ModbusRTUClient.requestFrom(), and is stored in 16 bits format (2 bytes). @@ -69,9 +69,9 @@ WisBlock IO RAK5802 * 1pcs The assembly of sensor node is as follows: -![ASSEMBLY](Images/assembly.png) +![exa-par-assy](../../../assets/repo/exa-par-assy.png) -![](Images/system.png) +![ex-soil-assy](../../../assets/Examples/ex-soil-assy.png) @@ -85,13 +85,13 @@ The assembly of sensor node is as follows: #### 3.1 Install library -![](Images/lm.png) +![lib-manager](../../../assets/Arduino/lib-manager.png) -![](Images/Arduino_RS485.png) +![lib-rs485-install](../../../assets/Arduino/lib-rs485-install.png) -![](Images/Arduino_Modbus.png) +![lib-modbus-install](../../../assets/Arduino/lib-modbus-install.png) -![](Images/SX126x-Arduino.png) +![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) ### 4. Example @@ -429,6 +429,6 @@ lmh_send ok count 3 The logs of LoraWan® Server is as follows: -![](Images/LoraWAN-Server-logs.png) +![exa-soil-data](../../../assets/Examples/exa-soil-data.png) LoRa® is a registered trademark or service mark of Semtech Corporation or its affiliates. LoRaWAN® is a licensed mark. \ No newline at end of file diff --git a/examples/solutions/Soil_Conductivity_Monitoring/Soil_Conductivity_Monitoring.ino b/examples/solutions/Soil_Conductivity_Monitoring/Soil_Conductivity_Monitoring.ino index b717c2a..d2ac7cb 100644 --- a/examples/solutions/Soil_Conductivity_Monitoring/Soil_Conductivity_Monitoring.ino +++ b/examples/solutions/Soil_Conductivity_Monitoring/Soil_Conductivity_Monitoring.ino @@ -9,13 +9,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include // Click here to get the library: http://librarymanager/All#SX126x @@ -61,7 +65,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!! KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77}; diff --git a/examples/solutions/Soil_pH_Monitoring/Images/Arch.png b/examples/solutions/Soil_pH_Monitoring/Images/Arch.png deleted file mode 100644 index 2509e35..0000000 Binary files a/examples/solutions/Soil_pH_Monitoring/Images/Arch.png and /dev/null differ diff --git a/examples/solutions/Soil_pH_Monitoring/Images/Arduino_Modbus.png b/examples/solutions/Soil_pH_Monitoring/Images/Arduino_Modbus.png deleted file mode 100644 index a64f056..0000000 Binary files a/examples/solutions/Soil_pH_Monitoring/Images/Arduino_Modbus.png and /dev/null differ diff --git a/examples/solutions/Soil_pH_Monitoring/Images/Arduino_RS485.png b/examples/solutions/Soil_pH_Monitoring/Images/Arduino_RS485.png deleted file mode 100644 index 3773a5b..0000000 Binary files a/examples/solutions/Soil_pH_Monitoring/Images/Arduino_RS485.png and /dev/null differ diff --git a/examples/solutions/Soil_pH_Monitoring/Images/SX126x-Arduino.png b/examples/solutions/Soil_pH_Monitoring/Images/SX126x-Arduino.png deleted file mode 100644 index e5ea2aa..0000000 Binary files a/examples/solutions/Soil_pH_Monitoring/Images/SX126x-Arduino.png and /dev/null differ diff --git a/examples/solutions/Soil_pH_Monitoring/Images/assembly.png b/examples/solutions/Soil_pH_Monitoring/Images/assembly.png deleted file mode 100644 index 55da27e..0000000 Binary files a/examples/solutions/Soil_pH_Monitoring/Images/assembly.png and /dev/null differ diff --git a/examples/solutions/Soil_pH_Monitoring/Images/lm.png b/examples/solutions/Soil_pH_Monitoring/Images/lm.png deleted file mode 100644 index 06fe659..0000000 Binary files a/examples/solutions/Soil_pH_Monitoring/Images/lm.png and /dev/null differ diff --git a/examples/solutions/Soil_pH_Monitoring/README.md b/examples/solutions/Soil_pH_Monitoring/README.md index cda8db8..7a07075 100644 --- a/examples/solutions/Soil_pH_Monitoring/README.md +++ b/examples/solutions/Soil_pH_Monitoring/README.md @@ -3,7 +3,7 @@ ### 1. Introduction -![](Images/Arch.png) +![exa-par-solution](../../../assets/Examples/exa-par-solution.png) This solution shows how to create an agriculture soil pH value sensor node. The sensor node measures the soil pH value from a sensor with a RS485 interface. It then transmits this data frequently over LoRaWAN®to a LoRaWAN® server. At the LoRaWAN® server the data arrives in the following format @@ -30,7 +30,7 @@ If you want to know how to use the LoRa® communication with WisBlock. You can r All Modbus devices include a register map with the location and a description of the data stored in the registers. Modbus functions operate on register map to monitor, configure, and control the device’s inputs and outputs. You have to refer to the register map of your device to gain a better understanding of its operation. Modbus registers are organized into reference types identified by the leading number of the reference address. You can see below an example of how to read and write data in a Modbus device. -![](Images/reg-map.png) +![exa-ph-regmap](../../../assets/Examples/exa-ph-regmap.png) In our example, we are going to read the high precision pH value from our device. We can see in the register map on above, the default Device Address is 1, the pH value is stored in the register 0006H, and is accessible with the function ModbusRTUClient.requestFrom(), and is stored in 16 bits format (2 bytes). @@ -58,9 +58,9 @@ To build this system, the following hardware are required: The assembly of sensor node is as follows: -![ASSEMBLY](Images/assembly.png) +![exa-par-assy](../../../assets/repo/exa-par-assy.png) -![](Images/soil-ph.png) +![ex-ph-assy](../../../assets/Examples/ex-ph-assy.png) @@ -74,13 +74,13 @@ The assembly of sensor node is as follows: #### 3.1 Install library -![](Images\lm.png) +![lib-manager](../../../assets/Arduino/lib-manager.png) -![](Images/Arduino_RS485.png) +![lib-rs485-install](../../../assets/Arduino/lib-rs485-install.png) -![](Images/Arduino_Modbus.png) +![lib-modbus-install](../../../assets/Arduino/lib-modbus-install.png) -![](Images/SX126x-Arduino.png) +![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) ### 4. Example @@ -386,6 +386,6 @@ lmh_send ok count 3 The logs of LoRaWAN® Server is as follows: -![](Images/lora-server-logs.png) +![exa-ph-data](../../../assets/Examples/exa-ph-data.png) LoRa® is a registered trademark or service mark of Semtech Corporation or its affiliates. LoRaWAN® is a licensed mark. \ No newline at end of file diff --git a/examples/solutions/Soil_pH_Monitoring/Soil_pH_Monitoring.ino b/examples/solutions/Soil_pH_Monitoring/Soil_pH_Monitoring.ino index 948105e..60ff9ca 100644 --- a/examples/solutions/Soil_pH_Monitoring/Soil_pH_Monitoring.ino +++ b/examples/solutions/Soil_pH_Monitoring/Soil_pH_Monitoring.ino @@ -9,13 +9,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include //Click here to get the library: http://librarymanager/All#ArduinoModbus @@ -59,7 +63,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!! KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; diff --git a/examples/solutions/Water_Level_Monitoring/README.md b/examples/solutions/Water_Level_Monitoring/README.md index 66cfe89..a029ec3 100644 --- a/examples/solutions/Water_Level_Monitoring/README.md +++ b/examples/solutions/Water_Level_Monitoring/README.md @@ -1,5 +1,5 @@ ## Water Level Monitoring over LoRaWAN® -![image-solution](./images/image-solution.png) +![exa-waterlevel-solution](../../../assets/Examples/exa-waterlevel-solution.png) This solution shows how to create a water level monitor node. The monitor node measures the water level from a sensor with a 0 to 5V analog interface. It then transmits this data frequently over LoRaWan® to a LoRaWan® server. @@ -30,11 +30,11 @@ To build this system, the following hardware are required: The assembly of sensor node is as follows: -![image-assemble](./images/image-assemble.png) +![exa-waterlevel-assy](../../../assets/repo/exa-waterlevel-assy.png) We chose a water level sensor with a voltage of 3v3, so we can use the board to supply power directly. The test scenario is shown as follows: -![image-test](./images/image-test.png) +![exa-waterlevel-assy](../../../assets/Examples/exa-waterlevel-assy.png) @@ -44,7 +44,7 @@ We chose a water level sensor with a voltage of 3v3, so we can use the board to - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - SX126x-Arduino library -![image-sx126x-lib](./images/image-sx126x-lib.png) +![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) @@ -352,7 +352,7 @@ The log of sensor node is shown as follows: We use Chirpstack as LoRaWAN® server in this solution, the data sent to LoRaWAN® server is shown as follows: -![image-chirpstack](./images/image-chirpstack.png) +![exa-waterlevel-data](../../../assets/Examples/exa-waterlevel-data.png) diff --git a/examples/solutions/Water_Level_Monitoring/Water_Level_Monitoring.ino b/examples/solutions/Water_Level_Monitoring/Water_Level_Monitoring.ino index 4fca9b8..ece9900 100644 --- a/examples/solutions/Water_Level_Monitoring/Water_Level_Monitoring.ino +++ b/examples/solutions/Water_Level_Monitoring/Water_Level_Monitoring.ino @@ -9,13 +9,16 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include @@ -60,7 +63,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!! KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x67, 0x79, 0x6e, 0xad, 0xf6, 0xab, 0xd2, 0x16}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77}; diff --git a/examples/solutions/Water_Level_Monitoring/images/image-sx126x-lib.png b/examples/solutions/Water_Level_Monitoring/images/image-sx126x-lib.png deleted file mode 100644 index 3607a3f..0000000 Binary files a/examples/solutions/Water_Level_Monitoring/images/image-sx126x-lib.png and /dev/null differ diff --git a/examples/solutions/Weather_Monitoring/README.md b/examples/solutions/Weather_Monitoring/README.md index 73603b4..a74cb22 100644 --- a/examples/solutions/Weather_Monitoring/README.md +++ b/examples/solutions/Weather_Monitoring/README.md @@ -33,26 +33,26 @@ To build this system, the following hardware are required: - WisBlock Sensor RAK1902 * 1pcs - WisBlock Sensor RAK1903 * 1pcs -![1](res/1.png) +![exa-weather-assy](../../../assets/repo/exa-weather-assy.png) ### Software required - [Arduino IDE](https://www.arduino.cc/en/Main/Software) - [RAK4630 BSP](https://github.com/RAKWireless/RAK-nRF52-Arduino) - Arduino LPS22HB library -![2](res/2.png) +![lib-lps22hb-install](../../../assets/Arduino/lib-lps22hb-install.png) - Sparkfun SHTC3 library -![4](res/4.png) +![lib-shtc3-install](../../../assets/Arduino/lib-shtc3-install.png) - ClosedCube OPT3001 library -![5](res/5.png) +![lib-opt3001-install](../../../assets/Arduino/lib-opt3001-install.png) - SX126x-Arduino library -![3](res/3.png) +![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) The code for the weather monitor node is as follows: ```cpp @@ -431,7 +431,7 @@ void configureSensor() { Data arrives at LoRaWAN® server. -![6](res/6.png) +![exa-weather-data](../../../assets/Examples/exa-weather-data.png) diff --git a/examples/solutions/Weather_Monitoring/Weather_Monitoring.ino b/examples/solutions/Weather_Monitoring/Weather_Monitoring.ino index 8abef11..26f404a 100644 --- a/examples/solutions/Weather_Monitoring/Weather_Monitoring.ino +++ b/examples/solutions/Weather_Monitoring/Weather_Monitoring.ino @@ -9,13 +9,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include //Click here to get the library: http://librarymanager/All#SX126x @@ -64,7 +68,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!! KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x33, 0x33}; diff --git a/examples/solutions/Weather_Monitoring/res/2.png b/examples/solutions/Weather_Monitoring/res/2.png deleted file mode 100644 index 4234762..0000000 Binary files a/examples/solutions/Weather_Monitoring/res/2.png and /dev/null differ diff --git a/examples/solutions/Weather_Monitoring/res/3.png b/examples/solutions/Weather_Monitoring/res/3.png deleted file mode 100644 index 04b5a11..0000000 Binary files a/examples/solutions/Weather_Monitoring/res/3.png and /dev/null differ diff --git a/examples/solutions/Weather_Monitoring/res/4.png b/examples/solutions/Weather_Monitoring/res/4.png deleted file mode 100644 index a12b94e..0000000 Binary files a/examples/solutions/Weather_Monitoring/res/4.png and /dev/null differ diff --git a/examples/solutions/Weather_Monitoring/res/5.png b/examples/solutions/Weather_Monitoring/res/5.png deleted file mode 100644 index d818994..0000000 Binary files a/examples/solutions/Weather_Monitoring/res/5.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/Arch.png b/examples/solutions/Wind_Speed_Monitoring/Images/Arch.png deleted file mode 100644 index 2509e35..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/Arch.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/Arduino_Modbus.png b/examples/solutions/Wind_Speed_Monitoring/Images/Arduino_Modbus.png deleted file mode 100644 index a64f056..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/Arduino_Modbus.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/Arduino_RS485.png b/examples/solutions/Wind_Speed_Monitoring/Images/Arduino_RS485.png deleted file mode 100644 index 3773a5b..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/Arduino_RS485.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/RAK4631_Back_01.png b/examples/solutions/Wind_Speed_Monitoring/Images/RAK4631_Back_01.png deleted file mode 100644 index b317e7f..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/RAK4631_Back_01.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/RAK4631_Front_01.png b/examples/solutions/Wind_Speed_Monitoring/Images/RAK4631_Front_01.png deleted file mode 100644 index dd31bd2..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/RAK4631_Front_01.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/RAK5005-O_45_02.png b/examples/solutions/Wind_Speed_Monitoring/Images/RAK5005-O_45_02.png deleted file mode 100644 index 75a73d8..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/RAK5005-O_45_02.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/RAK5802_45_03.png b/examples/solutions/Wind_Speed_Monitoring/Images/RAK5802_45_03.png deleted file mode 100644 index 5597045..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/RAK5802_45_03.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/RAK5802_Back_01.png b/examples/solutions/Wind_Speed_Monitoring/Images/RAK5802_Back_01.png deleted file mode 100644 index c30e1f4..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/RAK5802_Back_01.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/RAK5802_Front_01.png b/examples/solutions/Wind_Speed_Monitoring/Images/RAK5802_Front_01.png deleted file mode 100644 index 08b60ec..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/RAK5802_Front_01.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/SX126x-Arduino.png b/examples/solutions/Wind_Speed_Monitoring/Images/SX126x-Arduino.png deleted file mode 100644 index e5ea2aa..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/SX126x-Arduino.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/assembly.png b/examples/solutions/Wind_Speed_Monitoring/Images/assembly.png deleted file mode 100644 index 55da27e..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/assembly.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/Images/lm.png b/examples/solutions/Wind_Speed_Monitoring/Images/lm.png deleted file mode 100644 index 06fe659..0000000 Binary files a/examples/solutions/Wind_Speed_Monitoring/Images/lm.png and /dev/null differ diff --git a/examples/solutions/Wind_Speed_Monitoring/README.md b/examples/solutions/Wind_Speed_Monitoring/README.md index f419149..5cc460c 100644 --- a/examples/solutions/Wind_Speed_Monitoring/README.md +++ b/examples/solutions/Wind_Speed_Monitoring/README.md @@ -4,7 +4,7 @@ ### 1. Introduction -![](Images/Arch.png) +![exa-par-solution](../../../assets/Examples/exa-par-solution.png) This solution shows how to create an agriculture wind speed sensor node. The sensor node measures the wind speed from a sensor with a RS485 interface by Modbus protocol. It then transmits this data frequently over LoRaWAN® to a LoRaWAN® server. @@ -29,7 +29,7 @@ If you want to know how to use the LoRa® communication with WisBlock. You can r All Modbus devices include a register map with the location and a description of the data stored in the registers. Modbus functions operate on register map to monitor, configure, and control the device’s inputs and outputs. You have to refer to the register map of your device to gain a better understanding of its operation. Modbus registers are organized into reference types identified by the leading number of the reference address. You can see below an example of how to read and write data in a Modbus device. -![](Images\RegMap.png) +![exa-wind-regmap](../../../assets/Examples/exa-wind-regmap.png) In our example, we are going to read the speed value from our device. We can see in the register map on above, the default Device Address is 1, the speed value is stored in the register 0016H, and is accessible with the function ModbusRTUClient.requestFrom(), and is stored in 16 bits format (2 bytes). @@ -57,11 +57,11 @@ WisBlock IO RAK5802 * 1pcs The assembly of sensor node is as follows: -![ASSEMBLY](Images/assembly.png) +![exa-par-assy](../../../assets/repo/exa-par-assy.png) -![](Images/WindSpeedSensor.png) +exa-wind-sensor -![](Images/app-image.png) +exa-wind-assy @@ -74,13 +74,13 @@ The assembly of sensor node is as follows: #### 3.1 Install library -![](Images/lm.png) +![lib-manager](../../../assets/Arduino/lib-manager.png) -![](Images/Arduino_RS485.png) +![lib-rs485-install](../../../assets/Arduino/lib-rs485-install.png) -![](Images/Arduino_Modbus.png) +![lib-modbus-install](../../../assets/Arduino/lib-modbus-install.png) -![](Images/SX126x-Arduino.png) +![lib-sx12x-install](../../../assets/Arduino/lib-sx12x-install.png) ### 4. Example @@ -386,6 +386,6 @@ lmh_send ok count 4 The logs of LoraWan Server is as follows: -![](Images/LoraServerLogs.png) +![exa-wind-data](../../../assets/Examples/exa-wind-data.png) LoRa® is a registered trademark or service mark of Semtech Corporation or its affiliates. LoRaWAN® is a licensed mark. \ No newline at end of file diff --git a/examples/solutions/Wind_Speed_Monitoring/Wind_Speed_Monitoring.ino b/examples/solutions/Wind_Speed_Monitoring/Wind_Speed_Monitoring.ino index bbae4a8..5ba993e 100644 --- a/examples/solutions/Wind_Speed_Monitoring/Wind_Speed_Monitoring.ino +++ b/examples/solutions/Wind_Speed_Monitoring/Wind_Speed_Monitoring.ino @@ -9,13 +9,17 @@ * @copyright Copyright (c) 2020 * * @note RAK5005-O GPIO mapping to RAK4631 GPIO ports - * IO1 <-> P0.17 (Arduino GPIO number 17) - * IO2 <-> P1.02 (Arduino GPIO number 34) - * IO3 <-> P0.21 (Arduino GPIO number 21) - * IO4 <-> P0.04 (Arduino GPIO number 4) - * IO5 <-> P0.09 (Arduino GPIO number 9) - * IO6 <-> P0.10 (Arduino GPIO number 10) - * SW1 <-> P0.01 (Arduino GPIO number 1) + RAK5005-O <-> nRF52840 + IO1 <-> P0.17 (Arduino GPIO number 17) + IO2 <-> P1.02 (Arduino GPIO number 34) + IO3 <-> P0.21 (Arduino GPIO number 21) + IO4 <-> P0.04 (Arduino GPIO number 4) + IO5 <-> P0.09 (Arduino GPIO number 9) + IO6 <-> P0.10 (Arduino GPIO number 10) + SW1 <-> P0.01 (Arduino GPIO number 1) + A0 <-> P0.04/AIN2 (Arduino Analog A2 + A1 <-> P0.31/AIN7 (Arduino Analog A7 + SPI_CS <-> P0.26 (Arduino GPIO number 26) */ #include #include //Click here to get the library: http://librarymanager/All#ArduinoModbus @@ -60,7 +64,7 @@ static void send_lora_frame(void); static lmh_callback_t lora_callbacks = {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler}; -//OTAA keys +//OTAA keys !!! KEYS ARE MSB !!! uint8_t nodeDeviceEUI[8] = {0x67, 0x79, 0x6e, 0xad, 0xf6, 0xab, 0xd2, 0x16}; uint8_t nodeAppEUI[8] = {0xB8, 0x27, 0xEB, 0xFF, 0xFE, 0x39, 0x00, 0x00}; uint8_t nodeAppKey[16] = {0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77};