Skip to content

Conversation

janjongboom
Copy link
Contributor

Update for 2018.

  1. Change to use the Mbed OS 5.8 LoRaWAN stack.
  2. Switch to The Things Network as it's free, contrary to IoT-X and LORIOT - so more useful for first-timers.
  3. Add a bunch of clarification around radio, LoRaWAN in general, etc.
  4. Change to use OTA instead of ABP - it's 2018, we should not use ABP anymore.
  5. Add some notes on LoRaWAN 1.1.
  6. Add a nice demo web app which looks better than the old one.

@hasnainvirk @johanstokking Any initial feedback? Gateway setup instructions are still missing for Kerlink + RPi. Docs on TTN are very sparse. Rest should be good.

@johanstokking
Copy link

Looks good but I don't see a README

@janjongboom
Copy link
Contributor Author

@johanstokking No, because it'll be published on our docs site, not on GitHub.

@janjongboom janjongboom changed the title WIP - Update 'Building your own LoRa network' article to new LoRaWAN stack Update 'Building your own LoRa network' article to new LoRaWAN stack Feb 15, 2018
@janjongboom
Copy link
Contributor Author

@iriark01 @AnotherButler This is ready for review.

Copy link

@hasnainvirk hasnainvirk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

No major changes, mostly formatting with the occasional edit to the words.

Any problems, let me know.
Now on to the software side. You need a server that understands the LoRa protocol and can interpret the data the device sends. It's possible to roll your own (Semtech can give you its reference implementation if you sign an NDA), but there are also companies building LoRa network servers as a service, handling everything on your behalf. This article uses [The Things Network](https://www.thethingsnetwork.org), an open source, globally distributed network service that also has a free hosted community edition.

Because a network server only processes your data and doesn't store it, you need a place to store your messages, as well. The Things Network allows you to hook into their service through an MQTT client and forward your data to the cloud service of your choice (or straight to your application).
Because a network server only processes your data and doesn't store it, you need a somewhere to store your messages as well. The Things Network allows you to hook into their service through an MQTT client and forward your data to the cloud service of your choice (or straight to your application).
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence does not make sense anymore now.

@janjongboom
Copy link
Contributor Author

@fheathco Small nit, other than that it looks good.

Amanda Butler added 2 commits February 28, 2018 17:11
Minor nit.
Copy edit for active voice, grammar, style and more.
Copy link
Contributor

@AnotherButler AnotherButler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've left some comments and queries for you to address. Also, do you know where this is going in the docs? Is it on the Mbed OS site or somewhere else?


1. Fill in the details of your gateway.

<span class="images">![Gateway details](assets/ttn3.png)<span>Gateway details: Make sure to set the location correctly, so coverage maps can be updated.</span></span>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query: Who or what updates the coverage maps?

LoRaWAN uses an end-to-end encryption scheme that uses two session keys. The network server holds one key, and the application server holds the other. (In this tutorial, TTN fulfils both roles). These session keys are created when the device joins the network. For the initial authentication with the network, the application needs its device EUI, the EUI of the application it wants to join (referred to as the application EUI) and a preshared key (the application key).
The device EUI and application EUI are globally unique identifiers. You can buy a block of EUIs from the [IEEE](http://standards.ieee.org/develop/regauth/tut/eui.pdf). If you're using a module, it may have an EUI printed on the module. If you're using a radio shield, you can use an EUI from The Things Network's block.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query: "If you're using a module, it may have an EUI printed on the module." Should "module" be in there twice?

1. [Sign up](https://os.mbed.com/account/signup/?next=%2F) for an account on Arm Mbed, which hosts the Online Compiler.
1. Find your development board on [the platforms page](https://os.mbed.com/platforms/).
1. Click **Add to your Mbed Compiler**.
1. Go to [mbed-os-example-lorawan]().
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: This link is empty.

1. Plug your development board into the computer (over micro-USB) to mount it as a USB mass storage device. In most cases, you do not need a driver, but you can find drivers [here](https://os.mbed.com/docs/latest/tutorials/windows-serial-driver.html).
1. Once the device mounts, drag the compiled file onto the board. This causes the device to boot. You can then see the device joining and then sending messages in the The Things Network console, under the **Data** tab:
<span class="images"><span>We've got data! **TODO: add image**</span></span>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: There's a TODO here.

* [Continue setting up your network with LORIOT](loriot.md).
* [Continue setting up your network with IoT-X](iotx.md).
- [Webinar: getting started with LoRa using Arm Mbed and The Things Network](https://pages.arm.com/2017-10-29-webinar-registration.html).
- [Mbed OS LoRaWAN stack documentation]().
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: This link is missing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the docs are not online yet.

@AnotherButler
Copy link
Contributor

@janjongboom Also, we now host our images to AWS. Once we know where these docs will live, we need to place the images to the relevant images folder and have them uploaded to AWS.

@janjongboom
Copy link
Contributor Author

@AnotherButler Sorry, completely missed that you already looked at it. Fixed your comments.

@MarceloSalazar
Copy link

MarceloSalazar commented Mar 19, 2018

All, we're waiting for this to be merged to evaluate Lora during OOB.

@janjongboom
Copy link
Contributor Author

@MarceloSalazar But we cannot publish this before 5.8 is out. Can you link to https://github.com/ARMmbed/lora-docs/blob/arm-lora-stack/docs/intro-to-lora.md in OOB docs?

@AnotherButler is this good to go now?

@MarceloSalazar
Copy link

@janjongboom the doc has to be merged into the right repo/branch to make it available in the internal docs staging environment. Can you please raise that?

@AnotherButler
Copy link
Contributor

@janjongboom Yes, please merge at your convenience.

Also, we prefer not to link to GH in our docs. Please link to the LoRa page on os.mbed.com instead. In the future, please make all edits to that location once redirects are in place.

@MarceloSalazar I'm on it. I'm making sure it goes to the internal staging site.

@janjongboom janjongboom merged commit 7452c6c into master Mar 19, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants