Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
projects:cyberalarm [2019/11/23 20:48] kratenkoprojects:cyberalarm [2019/12/18 22:49] – Add photo with deep sleep current kratenko
Line 45: Line 45:
  
 ## Assembling the parts ## Assembling the parts
-![](:projects:button-attached.jpg)+</markdown>{{ :projects:button-attached.jpg)?nolink |}}<markdown> 
 Because of the voltage differences it is important to program the Arduino before the soldering is done. While I did the development I kept the parts on a breadboard, so I could add a logic shifter. The final soldering was done when I was content that my programming would work. Because of the voltage differences it is important to program the Arduino before the soldering is done. While I did the development I kept the parts on a breadboard, so I could add a logic shifter. The final soldering was done when I was content that my programming would work.
  
Line 75: Line 76:
 Arduino Sketch: https://github.com/deepestcyber/cyberalarm-button Arduino Sketch: https://github.com/deepestcyber/cyberalarm-button
  
-The LoRaWAN framework used in the sketch does quite a lot in the background. LoRaWAN requires a lot of states and timing, so it includes a kind of RTOS. This can be a bit confusing if you are not used to it. You can just use the link sketch and adjust `DevEUI`, `AppEUI`, and `AppKey`. You can get your values from TTN when you create a Device there.+The LoRaWAN framework used in the sketch does quite a lot in the background. LoRaWAN requires a lot of states and timing, so it includes a kind of RTOS. This can be a bit confusing if you are not used to it. You can just use the link sketch and adjust `DevEUI`, `AppEUI`, and `AppKey`. We get those value from TTN.
  
 +The device sends a single byte on port 23, where the byte indicates the severity of the alarm.
  
 ## Going low power ## Going low power
Line 82: Line 84:
  
 There are some hardware components on the Arduino that we do not need but cannot turn of and that will consume power. The most obvious one is the LED that is permanently on. You can easily break it off with screw driver or better yet solder it of. The next thing is the voltage converter that is supposed to generate 5V out of a higher voltage. We do not use it, but it still uses power from the power that enters through its output. So we solder that off, too. There is still the USB controller used to program the Arduino. We could also take that of to save even more power, but then we would not be able to change the firmware. Also it would be strange to use an Arduino at this point, as we would have not much left but the Atmel µC. At this point we should probably start from the Atmel only and use an external programmer &ndash; but that would be beyond the scope of this. There are some hardware components on the Arduino that we do not need but cannot turn of and that will consume power. The most obvious one is the LED that is permanently on. You can easily break it off with screw driver or better yet solder it of. The next thing is the voltage converter that is supposed to generate 5V out of a higher voltage. We do not use it, but it still uses power from the power that enters through its output. So we solder that off, too. There is still the USB controller used to program the Arduino. We could also take that of to save even more power, but then we would not be able to change the firmware. Also it would be strange to use an Arduino at this point, as we would have not much left but the Atmel µC. At this point we should probably start from the Atmel only and use an external programmer &ndash; but that would be beyond the scope of this.
 +
 +160µA deep sleep current is far from perfect, but it will keep the device running for a few month.
 +</markdown>{{ :projects:alarm-deep-sleep.jpg?nolink |}}<markdown>
 +
 +## The Things Network
 +We created an application `cyber-alarm` in [The Things Network](https://thethingsnetwork.org), so that our device can send messages whenever there is TTN coverage. To keep things easy, we are using Activation By Personalization (ABP).
  
 ## Backend ## Backend
-TODO+A website integrated into TTN via HTTPS. All activations of the button are sent to the backend end will be listed there. <br> 
 +https://alarm.deepcyber.de
  
 ## MQTT ## MQTT
-TODO+We also created a MQTT integration on TTN, so you can easily subscribe to Cyber Alarm Events. This can be done with a RaspberryPi that triggers some visual or accustical alarm signal. You can also do this from your PC to trigger some event on your desktop. 
 + 
 +TODO: supply key for subscribing to publisher 
 + 
 +# Your own Cyber Alarm 
 +This article and the Arduino sketch should provide enough information to build your own LoRaWAN Cyber Alarm. If you want to connect it to our Application, you can contact us. Try on Mastodon: https://chaos.social/@deepcyber &ndash; or you will find contact information somewhere on our site for sure.
  
 # Presentation at 35c3 # Presentation at 35c3