1. References
https://wiki.seeedstudio.com/Seeeduino_LoRAWAN/
2. jFed and Fed4FIRE+ account
Register for a jfed account at the following URL. You can use your student account at your institute, or alternatively request to join the "pervasivenation" project when registering
3. Download jFed Framework
Download jFed client software to run the RSPEC file in the next section
https://jfed.ilabt.imec.be/downloads/
4. Rspec for Seeeduino LoRAWAN Board at Iris - Support for Pervasive Nation
Load the following rspec, with connected Seeeduino LoRaWAN Board with ubuntu 20.04 image.
<?xml version='1.0'?>
<rspec xmlns="http://www.geni.net/resources/rspec/3" type="request" generated_by="jFed RSpec Editor" generated="2021-02-18T19:38:43.096Z" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:delay="http://www.protogeni.net/resources/rspec/ext/delay/1" xmlns:jfed-command="http://jfed.iminds.be/rspec/ext/jfed-command/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:jfed-ssh-keys="http://jfed.iminds.be/rspec/ext/jfed-ssh-keys/1" xmlns:jfed="http://jfed.iminds.be/rspec/ext/jfed/1" xmlns:sharedvlan="http://www.protogeni.net/resources/rspec/ext/shared-vlan/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd ">
<node client_id="Seeeduino_node" exclusive="false" component_manager_id="urn:publicid:IDN+iris-open-testbed.connectcentre.ie+authority+am">
<sliver_type name="vm">
<disk_image name="urn:publicid:IDN+iris-open-testbed.connectcentre.ie+image+seeeduino-board"/>
<flavor_type xmlns="http://iris-testbed.connectcentre.ie/rspec/ext/openstack/1" name="seeeduino-iot"/>
</sliver_type>
<location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="353.0" y="208.0"/>
</node>
</rspec>
5. Jfed
Make sure that Seeeduino board is connected to the VM at Iris, by running the following command. dmesg | grep Seeed - and if the board is there you should see the following information.
iristest@seeeduino-node:~$ dmesg | grep Seeed
[ 3.171580] usb 1-1.5: Product: Seeeduino LoRaWAN
[ 3.174509] usb 1-1.5: Manufacturer: Seeed Studio
iristest@seeeduino-node:~$
6. Download the PN TheThingsNetwork GitHub code
Clone the pervasive nation Seeeduino code or copy the contents of the file: https://github.com/pervasivenation/pn_seeed/blob/master/pn_seeed.ino
git clone https://github.com/pervasivenation/pn_seeed.git
Start arduino if not already started
arduino
Open the pn_seeed.ino file
Compile the file - using the "Verify" button
Use the "Upload" button to push the code to the board.
Note, you can see debug information from the Serial Monitor
Troubleshooting / Debugging
a. Install Arduino IDE [Note these steps should already have been run on the base Seeeduino image
- Skip to Step 8]
Open up a terminal window and use the snap command to install Arduino IDE on your Ubuntu 20.04 server. To do so execute the command below:
sudo apt-get update
sudo apt-get dist-upgrade
##to support remote viewing over ssh install xorg on remote server
sudo apt-get install xorg
sudo apt-get install -y xorg-dev
You now need to download the Arduino IDE from https://www.arduino.cc/en/software
You need to download this library locally, and scp it to the VM using jFed scp tool.
When available on the VM run the following commands:
tar -xf arduino-1.8.13-linux64.tar.xz
cd arduino-1.8.13
sudo ./install.sh
Adding desktop shortcut and menu item for Arduino IDE...
done!
Next, You can start the Arduino IDE from the Linux command line be executing:
arduino
The Arduino GUI should be visible. You will need X11 client locally to support viewing.
b. Setup Arudino IDE to support Seeeduino Board
[Note these steps should already have been run on the base Seeeduino image - Skip to Step 8]
Open your Arudino IDE, click on File > Preferences, and copy below url to Additional Boards Manager URLs: [More info here: https://wiki.seeedstudio.com/Seeed_Arduino_Boards/]
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json