Hey, what's up, Guys! Akarsh here from CETech.
In your childhood, you must have played with Lego. Did they use to be fun? Of course, they were. Today we are going to bring that fun back again but now we are not going to play with traditional lego. We are going to play with electronic lego for that we have with us the RAK Helium Developer Kit based on the Wisblock Technology which is completely modular and is a very easy-to-use method for making Helium nodes and several different things using Helium. The most important thing about this kit is that all the baseboards and the devices are designed in such a manner that they do not require any kind of soldering to stay connected. It's a kind of snap and play mechanism just like lego where we have a baseboard and on that baseboard, there are dedicated slots to connect other different sensors, antennas, etc. This mechanism is a great thing as it totally removes the hard work that was required to solder devices to keep them connected and make project making fast and easy.
We will be using this kit to make a Helium node and after that, we will test it by connecting it to a data-only hotspot from RAK. We will also make some more projects using this kit but they will be made in the next articles. For now, let's move to the fun part.Get PCBs for Your Projects Manufactured
You must check out JLCPCB for ordering PCBs online for cheap!
You get 10 good quality PCBs manufactured and shipped to your doorstep for 2$ and some shipping. You will also get a discount on shipping on your first order. To design your own PCB head over to easyEDA, once that is done upload your Gerber files onto JLCPCB to get them manufactured with good quality and quick turnaround time.About Wisblock Technology
WisBlock is an amazing product built by the RAK company for the IoT industry. With its modular approach solutions are built like clicking blocks together to realize your ideas. Its modular approach makes it easy to implement low power wide area network (LPWAN) into your IoT solution. Using industry-grade connectors WisBlock is not only applicable for rapid prototyping, development of solutions, but the same hardware can be used in the final product and mass production. In a small size of just 30 x 60mm WisBlock combines an MCU, LoRa communication, up to 4 onboard sensors, and IO or communication extensions. WisBlock solutions can be coded with the easy-to-use entry-level Arduino IDE or PlatformIO extension for Atom or MSVC. The Arduino framework offers a wide range of libraries that are ready to use.
WisBlock solutions can be created for larger projects as well with professional IDE’s like the Segger Embedded Studio or Keil. WisBlock consists of WisBlock Base, WisBlock Core, WisBlock Wireless, WisBlock Sensor, WisBlock Interface, WisBlock Display, WisBlock Extra, WisBlock Storage and WisBlock Power. WisBlock is created with 4 modular blocks.
- WisBlock Base is the baseboard that connects everything.
- WisBlock Core is the computation and communication module.
- WisBlock Sensor is a selection of sensor and input modules.
- WisBlock IO extends the output and communication possibilities of the WisBlock Core.
You can get more details about the Wisblock Technology and devices from here.About RAK4631 and RAK7268
RAK4631 is the Wisblock core module or we can say the baseboard that we get in the RAK Helium developer Kit. It is the core board on which all the other sensors and devices are connected and programmed to function. It extends the WisBlock series with a powerful Nordic nRF52840 MCU that supports Bluetooth 5.0 (Bluetooth Low Energy) and the newest LoRa transceiver from Semtech, the SX1262. The Semtech SX1262 has compared to the older SX127x series a lower power consumption at the same TX power. This makes the RAK4631 an ultra-low-power communication solution. RAK4631 can be comfortably programmed with the Arduino IDE or the PlatformIO extension for other IDE's like Atom, MS Visual Code, or Clion. Both LoRaWan and LoRa point-to-point connections are supported by an Arduino library. You can read about this in more detail from here.
RAK7268 is the Gateway that we are going to use as a data-only hotspot to connect with the Helium node and receive the data sent by the node. We have gone through the process of making a Hotspot in a previous article you can check that out from here and check the video description from here. This RAK7268 Gateway is WisGate Edge Lite 2, a full 8-channel indoor gateway, based on the LoRaWAN protocol, with built-in Ethernet connectivity for a straightforward setup. Additionally, an onboard Wi-Fi setup (supporting 2.4 GHz Wi-Fi) allows it to be easily configured via the default Wi-Fi AP mode. Moreover, the gateway supports LTE uplink communication connections. RAK7268 also supports the MQTT Bridge function, can use the MQTT integrated into third-party platforms. RAK7268 is especially suitable for small and medium-sized deployment scenarios in industry applications, saving the additional cost for server and R&D investment, and has the advantages of high execution efficiency. You can get yours from here and read about the configuration from here. Datasheet of the product can be accessed from here.Setting Up the Helium Node
For this step, we will require only the RAK4361 Wisblock Core module and a LoRa Antenna from the Helium Developer Kit. Apart from that, we will require the RAK7268 WisGate Edge Lite 2 Gateway to configure that as a hotspot. First of all, we need to connect the LoRa Antenna to the RAK4361 board and connect the board to or Laptop or PC and with this, we are done with the Hardware Part. Now all the things need to be done on the Software end i.e. on the Arduino IDE and the Staging Console. For that, we need to follow the below steps.
- Open your Arduino IDE and head over to the Files then Preferences. A dialog box will open up. There you will see an Additional Boards Manager URL section. In that, you need to copy and paste this URL:
- After pasting the URL you can click OK and then head over to Tools -> Boards -> Boards Manager. The Boards Manager dialog box will open up. Here you need to search for "RAK" and after that, you need to install the latest version of "RAKwireless nrf boards". Once the board is installed you need to hit the close button.
- Once the installation is done, you need to close the Arduino IDE and open it again. It kind of initializes the flags. After that, you need to head over to the Github repository of this project from here. In the repository, you will see a file named "Lora_Helium_Hello.ino". This is the code for making a helium node. Open that code and paste that into the Arduino IDE.
- Now we need to generate some EUIs and Keys to update our code according to our device. But before that, we need to decide if we are connecting to the data-only hotspot or we are connecting with a real miner. If we are connecting to a data-only hotspot which we are doing in our case then we need to use the Staging Helium Console. You can access the staging console from here. But if you are trying to connect to a real miner then you need to use the Main Helium Console.
- After you open the staging console, you need to click the "Add a New Device" button. An add new device screen will open up. Here you need to enter a name for the device. The name can be anything of your choice. The staging console will automatically generate a Device EUI, App EUI, and App Key but before touching them we need to click on the Save device button. The device will be saved and deployed.
- Now as the device is saved, we can open the device by clicking on the device name, and from there we can expand the keys. You can see that the Activation method is OTAA. We will also be using the OTAA method. Now we need to copy the Device EUI, App EUI, and App Key after expanding them and we need to paste them at relevant places in the code.
- After modifying the different fields, we need to head over to Tools then Boards. In Boards, we need to select the correct board which is "Wisblock Core RAK4631 Board" under the "RAK wireless nrf boards" section. Once the board is selected, you need to select the correct COM port and you need to hit the Upload button.
With this, we are done with the configuration part of our Helium node. Now we are ready to test its working and visualize that in the Staging console which we will do in the next step.Testing Our Node
After we are done with the code uploading. We are also done with the Helium node Configuration part. Now we can open the Serial Monitor. In the Serial Monitor, we will see that there are some join requests and those requests are accepted by the Hotspot. To visualize this more effectively, we can head back to the Staging Helium Console. Here you will see that in the live data Visualization, the data is moving towards the receptor. Below that you will also see the join requests for these messages with their Serial numbers, which are accepted by the gateway. You can open the Debugger as well to see that what message is received in the data packet. The message that is received is encoded and not in human-readable form.
So for that, we will use the Base64 decoder which you can access from here. We will open the debugger of the staging console here in the data packet, you will see a field named payload copy the data of that field and paste that in the decoder. After decoding you will see what the original message was. As we are using the Staging Console that's why we need to use this decoder otherwise in the Main Helium Console we do not need to do all this.
This brings us to the end of this project. In the next project, we will take this project a step further. We will attach a Wisblock Environment Sensor to our Wisblock Core board and will be storing the environment data such as temperature, atmospheric pressure, etc. It is going to be a very interesting project and we will bring that to you in the minimum time possible but until the Goodbye!