The Hiberfaker is offered by Hiber as a substitute for real Hiberband network connectivity when you do not have access to the Hiberband network, e.g. when you are working at your desktop. In this article, we describe step by step how the Hiberfaker can help you test your Arduino modem from end-to-end.
The goal is to successfully deliver the payload that you submit to the Arduino modem to Mission Control, via the Hiberfaker.
Make sure you have the following hardware ready:
- Arduino Mega 2560 R3
- Arduino modem shield; Beta or Gamma (Alpha is not supported by the Hiberfaker)
- Hiberfaker connector shield (only required if you use the Beta shield)
- External 3.3v power supply
Download or conform to the following software versions:
- Windows 7 or higher / MacOS 10.11 or higher / Linux Ubuntu 16.04 LTS or higher
- Arduino development environment (download)
- CP210x USB to UART driver (download)
- Arduino developer-kit project
- Hiberfaker utility
- You need to have access to Mission Control (hiber.cloud), the Hiber backend from which you can manage your modems and see the data collected by you modems. If you do not have access yet, please contact firstname.lastname@example.org.
- Make sure you have the latest modem firmware version installed. Follow the instructions in this article to update your modem firmware using the Hiberfaker.
Step by step guide
- Stack the modem shield on top of the Arduino Mega:
- Beta modem shield: stack the black Hiberfaker connector shield on top of the modem shield.
Gamma modem shield: the Hiberfaker connector is integrated on the shield, you do not need a Hiberfaker connector shield.
- Connect a LiPo 1-cell 3.7V 200mah (or higher) to the shield:
(View this article for more details on powering the Arduino modem shield)
- Make sure the 3V3 and 3V3_INT pins are connected with a jumper cap:
- Beta modem shield: Connect the Hiberfaker connector to the 10 pin connector on the Hiberfaker connector shield:
Gamma modem shield: Connect the Hiberfaker to 10 pin connector on the shield, above the Hiber logo:
- Make sure the On/Off switch (labelled S1) just above the Arduino's USB connector is set to the ON state: (here shown is the gamma version of the Arduino Hiberband shield)
- Connect the Arduino to your PC through the blue USB cable, and connect the Hiberfaker to your PC through the black USB cable:
- Open the Arduino IDE environment and set your Serial Monitor to communicate with 19200 bauds with 8N1 and both 'NL & CR' (i.e. \n\r at the end of each API UART command)
- Open the Arduino developer-kit project and upload it to the Mega 2560 R3
- Check if communication with the modem is working by entering in the Serial Monitor:
- The response should look like this:
API(600; <int>; every day)
- Download the latest Hiberfaker utility software
- Extract the files from the downloaded ZIP archive
- From the directory to which the files have been extracted, run the "hiber-faker" executable (.exe) or binary by double-clicking it or executing in a terminal on Linux (./hiber-faker with proper privileges to access the serial port)
- Wait for the terminal window to end with '-- UART -- Reading port'
- This means communication is established after a few seconds and the utility is waiting for a Hiberband message to be sent by your device
- Now go back to the Arduino Serial Monitor and set your payload (this should be automated in your prototype by e.g. a sensor trigger), an example sequence of input and response would look as follows:
- The Hiberfaker will pick up from here and pass your encrypted message to Mission Control (hiber.cloud). Log in to verify if your message was received successfully.
- The following screen recording shows the expected behavior, see the commands entered in the Serial Monitor at the top and the output of Hiberfaker Utility running at the bottom.
See the sequence diagram below under 'handshake between Arduino and Hiberband modem' for more detail on what API commands to send and what responses to expect from the modem.
Handshake between Arduino and Hiberband modem
When the Hiberfaker utility software is launched, you are ready to send your payload to the modem. After setting your payload, the HiberFaker will automatically detect the new payload and trigger a satellite pass-over. The desktop satellite will then pass your encrypted satellite message to Mission Control (hiber.cloud), where it is decrypted - as if it were an actual satellite message - and will trigger a webhook if this is set. A typical sequence diagram between host (i.e. Arduino Mega in this case) and the modem looks as follows:
Overview: from sensor to app
A typical IoT application encompasses a variety of components, such as:
- Arduino Mega
- Hiber shield with Hiber LPGAN modem
- Hiber Utility software
- Mission Control
- Your app