Difference between revisions of "Edge Sense LoRa GW Solution"
(edit) |
(.) |
||
(265 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | = Introduction = | |
− | + | An IoT total solution, mainly composed of UTX-3117 gateway/EIS-D210 gateway, RYLR89D Lora demo board and WISE-PaaS. | |
− | + | = LoRa GW Solution = | |
− | *[[ | + | <span style="color:#FF0000;">Notice: EdgeSense LoRa GW Solution not support LoRaWAN</span> |
+ | |||
+ | Support OS | ||
+ | |||
+ | *Ubuntu 16.04 | ||
+ | *Windows 10 | ||
+ | |||
+ | Topology: | ||
+ | |||
+ | [[File:LoRaMgt ryx topylogy.jpg|RTENOTITLE]] | ||
+ | |||
+ | == Gateway Support Lists == | ||
+ | |||
+ | *[http://www.advantech.tw/products/bda911fe-28bc-4171-aed3-67f76f6a12c8/utx-3117/mod_9a201cd3-1416-4282-9fc4-de8ca1e6bcbc UTX-3117] | ||
+ | *[http://www.advantech.tw/products/071c0784-5e9b-4bb8-bb07-2cb06da757a1/eis-d210/mod_5e343ae5-0935-4a82-8cf4-cd0a30ec7d5b EIS-D210] | ||
+ | |||
+ | == Support Node == | ||
+ | |||
+ | node type #1<br/>Sensor:Temperature , Humidity , LED x 5 , ADC , Relay x 4 , Input x 4<br/><span style="color:#FF0000;">(NOTE:SW 1.0.0 only support Temperature , Humidity , LED x 5 , ADC)</span><br/><span style="color:#FF0000;">(NOTE:Relay x 4, Input x4 need to running SW 1.0.1-rc1 above, but not yet testing)</span><br/>[[File:LoRaMgt ryx nodetype1.jpg|RTENOTITLE]] | ||
+ | |||
+ | <br/>node type #2<br/>Sensor:Temperature , Humidity , CO2<br/><span style="color:#FF0000;">(NOTE:SW 1.0.0 support CO2 , but CO2 sensor not yet testing)</span> | ||
+ | |||
+ | [[File:LoRaMgt ryx nodetype2.jpg|RTENOTITLE]] | ||
+ | |||
+ | node type #3<br/>Sensor:GPS<br/><span style="color:#FF0000;">(NOTE:This node type and GPS sensor need to running SW 1.0.1-rc1 above, but not yet testing)</span> | ||
+ | |||
+ | <span style="color:#FF0000;">[[File:LoRaMgt ryx nodetype3.jpg|RTENOTITLE]]</span> | ||
+ | |||
+ | == Software Stack == | ||
+ | |||
+ | [[File:LoRaMgt ryx software stack.jpg|RTENOTITLE]] | ||
+ | |||
+ | = How to = | ||
+ | |||
+ | == Software Requirements == | ||
+ | |||
+ | *Driver for USB to UART Bridge Controller , (only Windows need this) | ||
+ | *Microsoft Visual C++ 2015 Redistributable , (only Windows need this) | ||
+ | *MQTT broker | ||
+ | *[[WISE-PaaS/RMM_Agent|RMM 3.3 Agent]] or EI Agent | ||
+ | *uartmgr | ||
+ | *API-GW | ||
+ | |||
+ | == LoRa Module Firmware Upgrade == | ||
+ | |||
+ | *Refer to [[Edge_Sense_LoRa_Module_Firmware_Upgrade|this wiki]] | ||
+ | |||
+ | == LoRa Module setting == | ||
+ | |||
+ | After upgrade RYLRxxH mini PCIe board and RYLRxx6 demo board, need to config via AT Command. | ||
+ | |||
+ | Make sure these setting is correct for your environment. | ||
+ | |||
+ | *Firmware Version | ||
+ | *Band | ||
+ | *Address | ||
+ | *Network ID | ||
+ | |||
+ | Firmware Version | ||
+ | |||
+ | *To query Firmware Version , issue AT Command <span style="color:#0000FF;">AT+VER?</span> . Then, receive AT Command ex: <span style="color:#0000FF;">+VER=RYLRxxP_V0.1.28</span> | ||
+ | |||
+ | Band | ||
+ | |||
+ | *To query Band, issue AT Command <span style="color:#0000FF;">AT+BAND?</span> . Then, receive AT Command ex: <span style="color:#0000FF;">+BAND=TW</span> | ||
+ | *To change Band, issue AT Command <span style="color:#0000FF;">AT+BAND=YOUR_OPTION</span> , ex: <span style="color:#0000FF;">AT+BAND=JP</span> | ||
+ | *Detailed option, please see [[#Configuration|Configuration]]. | ||
+ | |||
+ | Address | ||
+ | |||
+ | *To query Address, issue AT Command <span style="color:#0000FF;">AT+ADDRESS?</span> . Then, receive AT Command ex: <span style="color:#0000FF;">+ADDRESS=1</span> | ||
+ | *To change Address, issue AT Command <span style="color:#0000FF;">AT+ADDRESS=ADDRESS_YOU_WANT</span> , ex: <span style="color:#0000FF;">AT+ADDRESS=23</span> | ||
+ | *Detailed option, please see [[#Configuration|Configuration]]. | ||
+ | |||
+ | Network ID | ||
+ | |||
+ | *To query Network ID, issue AT Command <span style="color:#0000FF;">AT+NETWORKID?</span> . Then, receive AT Command ex: <span style="color:#0000FF;">+NETWORKID=3</span> | ||
+ | *To change Network ID, issue AT Command <span style="color:#0000FF;">AT+NETWORKID=NETWORK_ID_YOU_WANT</span> , ex: <span style="color:#0000FF;">AT+NETWORKID=5</span> | ||
+ | *Detailed option, please see [[#Configuration|Configuration]]. | ||
+ | |||
+ | == Software Installation for Windows 10 == | ||
+ | |||
+ | <span style="color:#FF0000;">NOTE: Please wire the gateway to Internet with Network cable before install.</span> | ||
+ | |||
+ | Install Steps | ||
+ | |||
+ | #Install [[#Driver_for_USB_to_UART_Bridge_Controller|Driver for USB to UART Bridge Controller]] | ||
+ | #Install [https://www.microsoft.com/en-us/download/details.aspx?id=53587 Microsoft Visual C++ 2015 Redistributable] for x86 | ||
+ | #Install MQTT Broker | ||
+ | #Install uartmgr | ||
+ | #Install API-GW | ||
+ | #Install LoRaMgt_ryx , edit config, then restart service. | ||
+ | #Install RMM 3.3 Agent (v3.3.29 above) or EI Agent | ||
+ | |||
+ | Uninstall Steps | ||
+ | |||
+ | *Select the Start button, then select Settings > Apps. Choose the program you want to remove, and then select Uninstall. | ||
+ | |||
+ | #RMM 3.3 Agent or EI Agent | ||
+ | #LoRaMgt_ryx | ||
+ | #API-GW | ||
+ | #uartmgr | ||
+ | #MQTT Broker | ||
+ | |||
+ | == Software Installation for Ubuntu 16.04 == | ||
+ | |||
+ | Install Steps | ||
+ | |||
+ | #Install OS - [http://releases.ubuntu.com/16.04/ Ubuntu 16.04] (ex: ubuntu-16.04.5-desktop-amd64.iso) | ||
+ | #Install MQTT Broker | ||
+ | #Install uartmgr | ||
+ | #Install API-GW | ||
+ | #Install LoRaMgt_ryx , edit config, then restart service. | ||
+ | #Install RMM 3.3 Agent (v3.3.29 above) o EI Agent | ||
+ | <pre>$ sudo chmod +x MQTTBrokerSetup-1.0.5-Ubuntu_16.04-x86_64.run | ||
+ | $ sudo chmod +x uartmgr-1.0.3-Ubuntu_16.04-x86_64.run | ||
+ | $ sudo chmod +x API-GW-2.0.7-Ubuntu_16.04-x86_64.run | ||
+ | $ sudo chmod +x LoRaMgt_ryx-1.0.3-Ubuntu_16.04-x86_64.run | ||
+ | $ sudo chmod +x rmmagent-Ubuntu 16.04.5 LTS x86_64-1.1.3.0.run | ||
+ | $ sudo ./MQTTBrokerSetup-1.0.5-Ubuntu_16.04-x86_64.run | ||
+ | $ sudo ./uartmgr-1.0.3-Ubuntu_16.04-x86_64.run | ||
+ | $ sudo ./API-GW-2.0.7-Ubuntu_16.04-x86_64.run | ||
+ | $ sudo ./LoRaMgt_ryx-1.0.3-Ubuntu_16.04-x86_64.run | ||
+ | $ sudo ./rmmagent-Ubuntu 16.04.5 LTS x86_64-1.1.3.0.run | ||
+ | </pre> | ||
+ | |||
+ | <span style="color:#FF0000;">NOTE: Please wire the gateway to Internet with Network cable before install, it is necessary to install the dependencies. </span> | ||
+ | |||
+ | Uninstall Steps | ||
+ | |||
+ | To uninstall RMM 3.3 Agent or EI Agent | ||
+ | <pre>$ sudo /usr/local/AgentService/uninstall.sh</pre> | ||
+ | |||
+ | To uninstall LoRaMgt_ryx | ||
+ | <pre>$ sudo /usr/local/EdgeSense/LoRaMgt_ryx/uninstall.bash</pre> | ||
+ | |||
+ | To uninstall API-GW | ||
+ | <pre>$ sudo /usr/local/EdgeSense/API-GW/uninstall.bash</pre> | ||
+ | |||
+ | To uninstall uartmgr | ||
+ | <pre>$ sudo /usr/local/EdgeSense/uartmgr/uninstall.bash</pre> | ||
+ | |||
+ | to uninstall MQTT Broker | ||
+ | <pre>$ sudo /usr/local/EdgeSense/MQTTBroker/uninstall.bash</pre> | ||
+ | |||
+ | == Configuration == | ||
+ | |||
+ | In Windows 10 | ||
+ | |||
+ | *You can edit C:\Program Files (x86)\Advantech\LoRaMgt_ryx\settings.ini to change setting. | ||
+ | *Once config is changed, please using Windows Services Manager to restart LoRaMgt_ryx service. | ||
+ | |||
+ | In Ubuntu 16.04 | ||
+ | |||
+ | *You can edit /usr/local/EdgeSense/LoRaMgt_ryx/settings.ini to change setting. | ||
+ | **You can execute "<span style="color:#0000FF;">sudo vi /usr/local/EdgeSense/LoRaMgt_ryx/settings.ini</span>" command in Ubuntu terminal to modify config. | ||
+ | **Also you can use gedit to edit file, command is "<span style="color:#0000FF;">sudo gedit /usr/local/EdgeSense/LoRaMgt_ryx/settings.ini</span>" | ||
+ | *Once config is changed , please execute "<span style="color:#0000FF;">sudo systemctl restart LoRaMgt_ryx.service</span>" to restart service in order to apply new setting. | ||
+ | |||
+ | Setting File example: | ||
+ | |||
+ | {| border="1" cellspacing="1" cellpadding="1" style="width:500px;" | ||
+ | |- | ||
+ | | | ||
+ | [gateway]<br/>node_num=2<br/>polling_rate=20 | ||
+ | |||
+ | [rf]<br/>band=TW<br/>hostaddr=1<br/>networkid=0<br/>crfop1=15<br/>crfop2=15<br/><br/>[node-1]<br/>addr=8<br/>nodetype=1 | ||
+ | |||
+ | [node-2]<br/>addr=69<br/>nodetype=1 | ||
+ | |||
+ | |} | ||
+ | |||
+ | node_num | ||
+ | |||
+ | *Support maxinum 4 nodes | ||
+ | |||
+ | polling_rate | ||
+ | |||
+ | *range from 5 to 3600 second, default value is 20 second | ||
+ | *If setting is greater than maximum value or is less than minimum value, it will use default value. | ||
+ | |||
+ | band | ||
+ | |||
+ | *option : | ||
+ | **'''TW''' - for Taiwan | ||
+ | **'''JP''' - for Japan | ||
+ | **'''KR''' - for Korea | ||
+ | **'''US''' - for US | ||
+ | |||
+ | hostaddr | ||
+ | |||
+ | *Assign address for LoRa Host (LoRa pcie module inside gateway) | ||
+ | *hostaddr is needed to be 1 | ||
+ | |||
+ | networkid | ||
+ | |||
+ | *Network ID, default is 0 | ||
+ | *<span style="color:#FF0000;">NOTE:In firmware RYLRxxP_V0.1.22, range from 0 to 5</span> | ||
+ | *<span style="color:#FF0000;">NOTE:In firmware RYLRxxP_V0.2.23 and above, range from 0 to 11</span> | ||
+ | |||
+ | crfop1 / crfop2 | ||
+ | |||
+ | *LoRa module power , range from 0 to 15 dBm | ||
+ | |||
+ | addr: | ||
+ | |||
+ | *address for LoRa Node , range from 2 to 65000 | ||
+ | |||
+ | notetype: | ||
+ | |||
+ | *nodetype=1 : temperature + humidity + output x 5 + adc + relay x 4 + input x 4 | ||
+ | *nodetype=2 : temperature + humidity + co2 | ||
+ | *nodetype=3 : GPS | ||
+ | |||
+ | == Downlink for sensor == | ||
+ | |||
+ | '''Relay''' | ||
+ | |||
+ | Node Type#1 have 4 Normally Close type of Relay. | ||
+ | |||
+ | When relay is triggered to On status in WISE-PaaS, relay contact is open. | ||
+ | |||
+ | When relay is triggered to Off status in WISE-PaaS, relay contact is close. | ||
+ | |||
+ | == Service control == | ||
+ | |||
+ | '''In Windows''' | ||
+ | |||
+ | Check if LoRaMgt_ryx service is running: | ||
+ | |||
+ | *Use Service to check status of LoRaMgt_ryx service | ||
+ | |||
+ | Restart LoRaMgt_ryx service: | ||
+ | |||
+ | *Use Service to restart LoRaMgt_ryx service | ||
+ | |||
+ | Start LoRaMgt_ryx service: | ||
+ | |||
+ | *Use Service start LoRaMgt_ryx service | ||
+ | |||
+ | Stop LoRaMgt_ryx service: | ||
+ | |||
+ | *Use Service stop LoRaMgt_ryx service | ||
+ | |||
+ | '''In Ubuntu''' | ||
+ | |||
+ | Check if LoRaMgt_ryx service is running: | ||
+ | <pre>$ sudo systemctl status LoRaMgt_ryx.service | ||
+ | </pre> | ||
+ | |||
+ | Restart LoRaMgt_ryx service: | ||
+ | <pre>$ sudo systemctl restart LoRaMgt_ryx.service | ||
+ | </pre> | ||
+ | |||
+ | Start LoRaMgt_ryx service: | ||
+ | <pre>$ sudo systemctl start LoRaMgt_ryx.service | ||
+ | </pre> | ||
+ | |||
+ | Stop LoRaMgt_ryx service: | ||
+ | <pre>$ sudo systemctl stop LoRaMgt_ryx.service | ||
+ | </pre> | ||
+ | |||
+ | = Tools = | ||
+ | |||
+ | == Driver for USB to UART Bridge Controller == | ||
+ | |||
+ | In Windows, please use Device Manager to check if Devicer for USB to UART Bridge Controller is installed. | ||
+ | |||
+ | If your Device Manager does not recognize a CP2102 USB to UART Bridge Controller, you have to install its driver. | ||
+ | |||
+ | Please visit [https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers] and download driver, then install it. | ||
+ | |||
+ | [[File:LoRaMgt ryx uart driver 1.jpg|RTENOTITLE]] | ||
+ | |||
+ | After installing driver, Device Manage will look like this picture | ||
+ | |||
+ | [[File:LoRaMgt ryx uart driver 2.jpg|RTENOTITLE]] | ||
+ | |||
+ | |||
+ | |||
+ | == Reyax AT Command Demo Script == | ||
+ | |||
+ | This demo script is a simple bash script, aim to provide a preliminary understanding about Reyax At Command. | ||
+ | |||
+ | This Script only support Ubuntu 16.04. | ||
+ | |||
+ | Script version : 0.3-beta | ||
+ | |||
+ | Support Reyax firmware version : RYLRxxP_V0.1.22 | ||
+ | |||
+ | Support Lora Proprietary Command Set : V0.97 | ||
+ | |||
+ | Download | ||
+ | |||
+ | *This demo script is available at [[Media:Reyax-atcmd-demo.bash.tar.gz|Reyax-atcmd-demo.bash.tar.gz]] | ||
+ | *Download the file and upload it to Ubuntu. (Execute "<span style="color:#0000FF;">wget [http://ess-wiki.advantech.com.tw/wiki/images/4/4b/Reyax-atcmd-demo.bash.tar.gz http://ess-wiki.advantech.com.tw/wiki/images/4/4b/Reyax-atcmd-demo.bash.tar.gz]</span>" in terminal) | ||
+ | *Uncompress the file with command "<span style="color:#0000FF;">tar zxfv Reyax-atcmd-demo.bash.tar.gz</span>" , then reyax-atcmd-demo.bash will be ready to use. | ||
+ | |||
+ | Usage | ||
+ | |||
+ | #In Ubuntu Desktop , open two terminals. | ||
+ | #Terminal 1 (Left) , run "<span style="color:#0000FF;">sudo cat /dev/ttyUSB0</span>" | ||
+ | #Terminal 2 (Right) , run "<span style="color:#0000FF;">sudo ./reyax-atcmd-demo.bash</span>"<br/>[[File:Reyax-atcmd-demo-screenshot.jpg|RTENOTITLE]] | ||
+ | #You can enter your choice in the right terminal to issue AT command | ||
+ | #Message from AT Command RX will be shown in the left terminal. | ||
+ | #If you want to change node address , press 0 to enter new node's address. | ||
+ | |||
+ | = Restful API = | ||
+ | |||
+ | == Restful API for get SenHubList == | ||
+ | |||
+ | <span style="color:#0000FF;"><ServerIP></span>:3000/restapi/WSNManage/SenHub/AllSenHubList | ||
+ | |||
+ | ex: get Sensor Hub List in Ubuntu Terminal on the gateway | ||
+ | <pre>$ curl -H "Content-Type: application/json" -X GET http://127.0.0.1:3000/restapi/WSNManage/SenHub/AllSenHubList</pre> | ||
+ | |||
+ | Result: | ||
+ | <pre>{"n":"AllSenHubList","sv":"0017000E8C000055"}</pre> | ||
+ | |||
+ | Or you can get Sensor Hub List via web browser , enter url such as: | ||
+ | |||
+ | [[File:EdgeSense LoRa GW restful1.jpg|RTENOTITLE]] | ||
+ | |||
+ | == Restful API for Get Sensor Value == | ||
+ | |||
+ | <span style="color:#0000FF;"><ServerIP></span>:3000/restapi/WSNManage/SenHub/<span style="color:#0000FF;"><DEVID></span>/SenHub/SenData/<span style="color:#0000FF;"><SENSOR></span> | ||
+ | |||
+ | DEVID: Device ID of LoRa SenHub ( e.g. 0017000E8C000055 ) | ||
+ | |||
+ | SENSOR: Temperature / Humidity / ADC / GPIO1/ GPIO2 / GPIO3 / GPIO4 / GPIO5 / Relay1 / Relay2 / Relay3 / Relay4 / SNR / RSSI | ||
+ | |||
+ | ex: get Temperature in Ubuntu Terminal on the gateway | ||
+ | <pre>curl -H "Content-Type: application/json" -X GET http://127.0.0.1:3000/restapi/WSNManage/SenHub/0017000E8C000052/SenHub/SenData/Temperature | ||
+ | </pre> | ||
+ | |||
+ | Result: | ||
+ | <pre>{"v":23.5}</pre> | ||
+ | |||
+ | Or you can get Temperature from device 0017000E8C000052 via web browser , enter url such as: | ||
+ | |||
+ | [[File:EdgeSense LoRa GW restful2.jpg|RTENOTITLE]] | ||
+ | |||
+ | ex: get RSSI in Ubuntu Terminal on the gateway | ||
+ | <pre>curl -H "Content-Type: application/json" -X GET http://127.0.0.1:3000/restapi/WSNManage/SenHub/0017000E8C000052/SenHub/SenData/RSSI | ||
+ | </pre> | ||
+ | |||
+ | Result: | ||
+ | <pre>{"v":-63}</pre> | ||
+ | |||
+ | = Debug = | ||
+ | |||
+ | == Collect LoRa minipcie module command log == | ||
+ | |||
+ | Refer to [[Uartmgr#Display_UART_transaction_log|uartmgr wiki]]. | ||
+ | |||
+ | == Check if LoRaMgt_ryx service is running == | ||
+ | |||
+ | In Ubuntu , | ||
+ | <pre>$ sudo systemctl status LoRaMgt_ryx.service | ||
+ | </pre> | ||
+ | |||
+ | In Windows, | ||
+ | <pre>Use Service to check status of LoRaMgt_ryx service | ||
+ | </pre> | ||
+ | |||
+ | = Use Case = | ||
+ | |||
+ | [[File:LoRaMgt ryx use case1.jpg|RTENOTITLE]] | ||
+ | |||
+ | = Release = | ||
+ | |||
+ | {| border="1" cellspacing="1" cellpadding="1" style="width: 1492px;" | ||
+ | |- | ||
+ | | style="text-align: center;" | Index | ||
+ | | style="text-align: center;" | Version | ||
+ | | style="text-align: center; width: 76px;" | Date<br/> | ||
+ | | style="text-align: center; width: 85px;" | Platform<br/> | ||
+ | | style="text-align: center; width: 72px;" | OS<br/> | ||
+ | | style="text-align: center; width: 728px;" | Release Note<br/> | ||
+ | | style="text-align: center; width: 417px;" | Download Link<br/> | ||
+ | |- | ||
+ | | style="text-align: center;" | 1 | ||
+ | | style="text-align: center;" | 1.0.0 | ||
+ | | style="width: 76px; text-align: center;" | 2018/08/13 | ||
+ | | style="width: 85px; text-align: center;" | x86_64 CPU<br/> | ||
+ | | style="width: 72px; text-align: center;" | Ubuntu 16.04<br/> | ||
+ | | style="width: 728px;" | | ||
+ | *Support Minipcie LoRa module firmware Version RYLRxxP_V0.1.22 | ||
+ | *Support LoRa nodetype#1 firmware version: RYLRxx6_V0.1.13 + RYLRxxE_V0.1.7 (for I/O board) | ||
+ | *Support LoRa nodetype#2 firmware version: RYLRxx2_V0.1.13 | ||
+ | *Support sensor: Temperature , Humidity , LED x 5 , ADC, CO2 | ||
+ | *Support maxinum 4 nodes | ||
+ | *Command line monitor tools | ||
+ | |||
+ | | style="width: 417px;" | | ||
+ | [https://www.dropbox.com/s/91urak2oazhxth0/LoRaMgt_ryx-1.0.0-Ubuntu_16.04-x86_64.run?dl=0 LoRaMgt_ryx-1.0.0-Ubuntu_16.04-x86_64.run] | ||
+ | |||
+ | [https://www.dropbox.com/s/v3923zf2n86voa3/API-GW-2.0.6-Ubuntu_16.04-x86_64.run?dl=0 API-GW-2.0.6-Ubuntu_16.04-x86_64.run] | ||
+ | |||
+ | RMM 3.3 Agent:<br/>[https://www.dropbox.com/s/5opglbgr220k7n1/rmmagent-Ubuntu%2016.04.4%20LTS%20x86_64-3.3.23.8242.run?dl=0 rmmagent-Ubuntu 16.04.4 LTS x86_64-3.3.23.8242.run] | ||
+ | |||
+ | |- | ||
+ | | style="text-align: center;" | 2 | ||
+ | | style="text-align: center;" | 1.0.1 | ||
+ | | style="width: 76px; text-align: center;" | 2018/11/27 | ||
+ | | style="width: 85px; text-align: center;" | x86_64 CPU | ||
+ | | style="width: 72px; text-align: center;" | Windows 10 | ||
+ | | style="width: 728px;" | | ||
+ | *Support Minipcie LoRa module firmware Version RYLRxxP_V0.1.28 | ||
+ | *Support LoRa nodetype#1 firmware version: RYLRxx6_V0.1.20 + RYLRxxE_V0.1.11 (for I/O board) | ||
+ | *Support LoRa nodetype#2 firmware version: RYLRxx2_V0.1.20 | ||
+ | *Support LoRa nodetype#3 firmware version: RYLRxxS_V0.1.20 | ||
+ | *Support sensor: Temperature , Humidity , LED x 5 , ADC, CO2, Relay x 4, Digit Input x 4, GPS | ||
+ | *Support maxinum 4 nodes | ||
+ | |||
+ | | style="width: 417px;" | | ||
+ | [https://www.dropbox.com/s/ab1yg3xo7e9be89/API-GW-2.0.6.exe?dl=0 API-GW-2.0.6.exe] | ||
+ | |||
+ | [https://www.dropbox.com/s/2idnzzmkjlcfstr/LoRaMgt_ryx-1.0.1.exe?dl=0 LoRaMgt_ryx-1.0.1.exe] | ||
+ | |||
+ | [https://www.dropbox.com/s/slnv815o5g3o0j4/MQTTBrokerSetup_1.0.3.exe?dl=0 MQTTBrokerSetup_1.0.3.exe] | ||
+ | |||
+ | [https://www.dropbox.com/s/ktrmlb7of8u63sd/uartmgr-1.0.2.exe?dl=0 uartmgr-1.0.2.exe] | ||
+ | |||
+ | |- | ||
+ | | style="text-align: center;" | 3 | ||
+ | | style="text-align: center;" | 1.0.2 | ||
+ | | style="width: 76px; text-align: center;" | 2018/12/4 | ||
+ | | style="width: 85px; text-align: center;" | x86_64 CPU<br/> | ||
+ | | style="width: 72px; text-align: center;" | Windows 10<br/> | ||
+ | | style="width: 728px;" | | ||
+ | *Support Minipcie LoRa module firmware Version RYLRxxP_V0.2.9 | ||
+ | *Support LoRa nodetype#1 firmware version: RYLRxx6_V0.2.9 + RYLRxxE_V0.1.16 (for I/O board) | ||
+ | *Support sensor: Temperature , Humidity , LED x 5 , ADC, CO2, Relay x 4, Digit Input x 4, GPS | ||
+ | *Support maxinum 4 nodes | ||
+ | *Add openssl dll | ||
+ | |||
+ | | style="width: 417px;" | | ||
+ | [https://www.dropbox.com/s/ab1yg3xo7e9be89/API-GW-2.0.6.exe?dl=0 API-GW-2.0.6.exe] | ||
+ | |||
+ | [https://www.dropbox.com/s/4ouyzztxb94mdnd/LoRaMgt_ryx-1.0.2.exe?dl=0 LoRaMgt_ryx-1.0.2.exe] | ||
+ | |||
+ | [https://www.dropbox.com/s/slnv815o5g3o0j4/MQTTBrokerSetup_1.0.3.exe?dl=0 MQTTBrokerSetup_1.0.3.exe] | ||
+ | |||
+ | [https://www.dropbox.com/s/s5xtvxty0lcbkel/uartmgr-1.0.3.exe?dl=0 uartmgr-1.0.3.exe] | ||
+ | |||
+ | |- | ||
+ | | style="text-align: center;" | 4 | ||
+ | | style="text-align: center;" | 1.0.3 | ||
+ | | style="width: 76px; text-align: center;" | 2019/2/21 | ||
+ | | style="width: 85px; text-align: center;" | x86_64 CPU<br/> | ||
+ | | style="width: 72px; text-align: center;" | Ubuntu 16.04<br/> | ||
+ | | style="width: 728px;" | | ||
+ | *Support Minipcie LoRa module firmware Version RYLRxxP_V0.2.9 | ||
+ | *Support LoRa nodetype#1 firmware version: RYLRxx6_V0.2.9 + RYLRxxE_V0.1.16 (for I/O board) | ||
+ | *Support sensor: Temperature , Humidity , LED x 5 , ADC, CO2, Relay x 4, Digit Input x 4, GPS | ||
+ | *Support maxinum 4 nodes | ||
+ | *Verified by WISE-PaaS/EdgeSense 1.0.96 + EI-Agent 1.1.3.0 | ||
+ | |||
+ | | style="width: 417px;" | | ||
+ | [file://eossfs/ESS-Release/EdgeSense/Release/Ubuntu16.04-x86_64/API-GW/ API-GW 2.0.7] | ||
+ | |||
+ | [file://eossfs/ESS-Release/EdgeSense/Release/Ubuntu16.04-x86_64/LoRaMgt_ryx/ LoRaMgt_ryx 1.0.3] | ||
+ | |||
+ | [file://eossfs/ESS-Release/EdgeSense/Release/Ubuntu16.04-x86_64/MQTTBroker/ MQTTBroker 1.0.5] | ||
+ | |||
+ | [file://eossfs/ESS-Release/EdgeSense/Release/Ubuntu16.04-x86_64/uartmgr/ uartmgr 1.0.3] | ||
+ | |||
+ | Above files are available at local server, please paste file's url in File Explorer to copy file. | ||
+ | |||
+ | |||
+ | |||
+ | |} | ||
+ | [[Category:Pages with broken file links]] |
Latest revision as of 04:32, 25 February 2019
Contents
Introduction
An IoT total solution, mainly composed of UTX-3117 gateway/EIS-D210 gateway, RYLR89D Lora demo board and WISE-PaaS.
LoRa GW Solution
Notice: EdgeSense LoRa GW Solution not support LoRaWAN
Support OS
- Ubuntu 16.04
- Windows 10
Topology:
Gateway Support Lists
Support Node
node type #1
Sensor:Temperature , Humidity , LED x 5 , ADC , Relay x 4 , Input x 4
(NOTE:SW 1.0.0 only support Temperature , Humidity , LED x 5 , ADC)
(NOTE:Relay x 4, Input x4 need to running SW 1.0.1-rc1 above, but not yet testing)
node type #2
Sensor:Temperature , Humidity , CO2
(NOTE:SW 1.0.0 support CO2 , but CO2 sensor not yet testing)
node type #3
Sensor:GPS
(NOTE:This node type and GPS sensor need to running SW 1.0.1-rc1 above, but not yet testing)
Software Stack
How to
Software Requirements
- Driver for USB to UART Bridge Controller , (only Windows need this)
- Microsoft Visual C++ 2015 Redistributable , (only Windows need this)
- MQTT broker
- RMM 3.3 Agent or EI Agent
- uartmgr
- API-GW
LoRa Module Firmware Upgrade
- Refer to this wiki
LoRa Module setting
After upgrade RYLRxxH mini PCIe board and RYLRxx6 demo board, need to config via AT Command.
Make sure these setting is correct for your environment.
- Firmware Version
- Band
- Address
- Network ID
Firmware Version
- To query Firmware Version , issue AT Command AT+VER? . Then, receive AT Command ex: +VER=RYLRxxP_V0.1.28
Band
- To query Band, issue AT Command AT+BAND? . Then, receive AT Command ex: +BAND=TW
- To change Band, issue AT Command AT+BAND=YOUR_OPTION , ex: AT+BAND=JP
- Detailed option, please see Configuration.
Address
- To query Address, issue AT Command AT+ADDRESS? . Then, receive AT Command ex: +ADDRESS=1
- To change Address, issue AT Command AT+ADDRESS=ADDRESS_YOU_WANT , ex: AT+ADDRESS=23
- Detailed option, please see Configuration.
Network ID
- To query Network ID, issue AT Command AT+NETWORKID? . Then, receive AT Command ex: +NETWORKID=3
- To change Network ID, issue AT Command AT+NETWORKID=NETWORK_ID_YOU_WANT , ex: AT+NETWORKID=5
- Detailed option, please see Configuration.
Software Installation for Windows 10
NOTE: Please wire the gateway to Internet with Network cable before install.
Install Steps
- Install Driver for USB to UART Bridge Controller
- Install Microsoft Visual C++ 2015 Redistributable for x86
- Install MQTT Broker
- Install uartmgr
- Install API-GW
- Install LoRaMgt_ryx , edit config, then restart service.
- Install RMM 3.3 Agent (v3.3.29 above) or EI Agent
Uninstall Steps
- Select the Start button, then select Settings > Apps. Choose the program you want to remove, and then select Uninstall.
- RMM 3.3 Agent or EI Agent
- LoRaMgt_ryx
- API-GW
- uartmgr
- MQTT Broker
Software Installation for Ubuntu 16.04
Install Steps
- Install OS - Ubuntu 16.04 (ex: ubuntu-16.04.5-desktop-amd64.iso)
- Install MQTT Broker
- Install uartmgr
- Install API-GW
- Install LoRaMgt_ryx , edit config, then restart service.
- Install RMM 3.3 Agent (v3.3.29 above) o EI Agent
$ sudo chmod +x MQTTBrokerSetup-1.0.5-Ubuntu_16.04-x86_64.run $ sudo chmod +x uartmgr-1.0.3-Ubuntu_16.04-x86_64.run $ sudo chmod +x API-GW-2.0.7-Ubuntu_16.04-x86_64.run $ sudo chmod +x LoRaMgt_ryx-1.0.3-Ubuntu_16.04-x86_64.run $ sudo chmod +x rmmagent-Ubuntu 16.04.5 LTS x86_64-1.1.3.0.run $ sudo ./MQTTBrokerSetup-1.0.5-Ubuntu_16.04-x86_64.run $ sudo ./uartmgr-1.0.3-Ubuntu_16.04-x86_64.run $ sudo ./API-GW-2.0.7-Ubuntu_16.04-x86_64.run $ sudo ./LoRaMgt_ryx-1.0.3-Ubuntu_16.04-x86_64.run $ sudo ./rmmagent-Ubuntu 16.04.5 LTS x86_64-1.1.3.0.run
NOTE: Please wire the gateway to Internet with Network cable before install, it is necessary to install the dependencies.
Uninstall Steps
To uninstall RMM 3.3 Agent or EI Agent
$ sudo /usr/local/AgentService/uninstall.sh
To uninstall LoRaMgt_ryx
$ sudo /usr/local/EdgeSense/LoRaMgt_ryx/uninstall.bash
To uninstall API-GW
$ sudo /usr/local/EdgeSense/API-GW/uninstall.bash
To uninstall uartmgr
$ sudo /usr/local/EdgeSense/uartmgr/uninstall.bash
to uninstall MQTT Broker
$ sudo /usr/local/EdgeSense/MQTTBroker/uninstall.bash
Configuration
In Windows 10
- You can edit C:\Program Files (x86)\Advantech\LoRaMgt_ryx\settings.ini to change setting.
- Once config is changed, please using Windows Services Manager to restart LoRaMgt_ryx service.
In Ubuntu 16.04
- You can edit /usr/local/EdgeSense/LoRaMgt_ryx/settings.ini to change setting.
- You can execute "sudo vi /usr/local/EdgeSense/LoRaMgt_ryx/settings.ini" command in Ubuntu terminal to modify config.
- Also you can use gedit to edit file, command is "sudo gedit /usr/local/EdgeSense/LoRaMgt_ryx/settings.ini"
- Once config is changed , please execute "sudo systemctl restart LoRaMgt_ryx.service" to restart service in order to apply new setting.
Setting File example:
[gateway] [rf] [node-2] |
node_num
- Support maxinum 4 nodes
polling_rate
- range from 5 to 3600 second, default value is 20 second
- If setting is greater than maximum value or is less than minimum value, it will use default value.
band
- option :
- TW - for Taiwan
- JP - for Japan
- KR - for Korea
- US - for US
hostaddr
- Assign address for LoRa Host (LoRa pcie module inside gateway)
- hostaddr is needed to be 1
networkid
- Network ID, default is 0
- NOTE:In firmware RYLRxxP_V0.1.22, range from 0 to 5
- NOTE:In firmware RYLRxxP_V0.2.23 and above, range from 0 to 11
crfop1 / crfop2
- LoRa module power , range from 0 to 15 dBm
addr:
- address for LoRa Node , range from 2 to 65000
notetype:
- nodetype=1 : temperature + humidity + output x 5 + adc + relay x 4 + input x 4
- nodetype=2 : temperature + humidity + co2
- nodetype=3 : GPS
Downlink for sensor
Relay
Node Type#1 have 4 Normally Close type of Relay.
When relay is triggered to On status in WISE-PaaS, relay contact is open.
When relay is triggered to Off status in WISE-PaaS, relay contact is close.
Service control
In Windows
Check if LoRaMgt_ryx service is running:
- Use Service to check status of LoRaMgt_ryx service
Restart LoRaMgt_ryx service:
- Use Service to restart LoRaMgt_ryx service
Start LoRaMgt_ryx service:
- Use Service start LoRaMgt_ryx service
Stop LoRaMgt_ryx service:
- Use Service stop LoRaMgt_ryx service
In Ubuntu
Check if LoRaMgt_ryx service is running:
$ sudo systemctl status LoRaMgt_ryx.service
Restart LoRaMgt_ryx service:
$ sudo systemctl restart LoRaMgt_ryx.service
Start LoRaMgt_ryx service:
$ sudo systemctl start LoRaMgt_ryx.service
Stop LoRaMgt_ryx service:
$ sudo systemctl stop LoRaMgt_ryx.service
Tools
Driver for USB to UART Bridge Controller
In Windows, please use Device Manager to check if Devicer for USB to UART Bridge Controller is installed.
If your Device Manager does not recognize a CP2102 USB to UART Bridge Controller, you have to install its driver.
Please visit https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers and download driver, then install it.
After installing driver, Device Manage will look like this picture
Reyax AT Command Demo Script
This demo script is a simple bash script, aim to provide a preliminary understanding about Reyax At Command.
This Script only support Ubuntu 16.04.
Script version : 0.3-beta
Support Reyax firmware version : RYLRxxP_V0.1.22
Support Lora Proprietary Command Set : V0.97
Download
- This demo script is available at Reyax-atcmd-demo.bash.tar.gz
- Download the file and upload it to Ubuntu. (Execute "wget http://ess-wiki.advantech.com.tw/wiki/images/4/4b/Reyax-atcmd-demo.bash.tar.gz" in terminal)
- Uncompress the file with command "tar zxfv Reyax-atcmd-demo.bash.tar.gz" , then reyax-atcmd-demo.bash will be ready to use.
Usage
- In Ubuntu Desktop , open two terminals.
- Terminal 1 (Left) , run "sudo cat /dev/ttyUSB0"
- Terminal 2 (Right) , run "sudo ./reyax-atcmd-demo.bash"
- You can enter your choice in the right terminal to issue AT command
- Message from AT Command RX will be shown in the left terminal.
- If you want to change node address , press 0 to enter new node's address.
Restful API
Restful API for get SenHubList
<ServerIP>:3000/restapi/WSNManage/SenHub/AllSenHubList
ex: get Sensor Hub List in Ubuntu Terminal on the gateway
$ curl -H "Content-Type: application/json" -X GET http://127.0.0.1:3000/restapi/WSNManage/SenHub/AllSenHubList
Result:
{"n":"AllSenHubList","sv":"0017000E8C000055"}
Or you can get Sensor Hub List via web browser , enter url such as:
Restful API for Get Sensor Value
<ServerIP>:3000/restapi/WSNManage/SenHub/<DEVID>/SenHub/SenData/<SENSOR>
DEVID: Device ID of LoRa SenHub ( e.g. 0017000E8C000055 )
SENSOR: Temperature / Humidity / ADC / GPIO1/ GPIO2 / GPIO3 / GPIO4 / GPIO5 / Relay1 / Relay2 / Relay3 / Relay4 / SNR / RSSI
ex: get Temperature in Ubuntu Terminal on the gateway
curl -H "Content-Type: application/json" -X GET http://127.0.0.1:3000/restapi/WSNManage/SenHub/0017000E8C000052/SenHub/SenData/Temperature
Result:
{"v":23.5}
Or you can get Temperature from device 0017000E8C000052 via web browser , enter url such as:
ex: get RSSI in Ubuntu Terminal on the gateway
curl -H "Content-Type: application/json" -X GET http://127.0.0.1:3000/restapi/WSNManage/SenHub/0017000E8C000052/SenHub/SenData/RSSI
Result:
{"v":-63}
Debug
Collect LoRa minipcie module command log
Refer to uartmgr wiki.
Check if LoRaMgt_ryx service is running
In Ubuntu ,
$ sudo systemctl status LoRaMgt_ryx.service
In Windows,
Use Service to check status of LoRaMgt_ryx service
Use Case
Release
Index | Version | Date |
Platform |
OS |
Release Note |
Download Link |
1 | 1.0.0 | 2018/08/13 | x86_64 CPU |
Ubuntu 16.04 |
|
LoRaMgt_ryx-1.0.0-Ubuntu_16.04-x86_64.run API-GW-2.0.6-Ubuntu_16.04-x86_64.run RMM 3.3 Agent: |
2 | 1.0.1 | 2018/11/27 | x86_64 CPU | Windows 10 |
|
|
3 | 1.0.2 | 2018/12/4 | x86_64 CPU |
Windows 10 |
|
|
4 | 1.0.3 | 2019/2/21 | x86_64 CPU |
Ubuntu 16.04 |
|
Above files are available at local server, please paste file's url in File Explorer to copy file.
|