{"id":10452,"date":"2021-01-01T19:02:52","date_gmt":"2021-01-01T19:02:52","guid":{"rendered":"https:\/\/wolles-elektronikkiste.de\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox"},"modified":"2021-01-02T14:58:39","modified_gmt":"2021-01-02T14:58:39","slug":"arduino-iot-cloud-part-2-arduino-sim-and-sigfox","status":"publish","type":"post","link":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox","title":{"rendered":"Arduino IoT Cloud &#8211; Part 2: Arduino SIM and Sigfox"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">About the post<\/h2>\n<p>In my <a href=\"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-1-introduction\" target=\"_blank\" rel=\"noopener noreferrer\">last post,<\/a> I gave an introduction to the Arduino IoT Cloud. In this post, I want to build on this and show you how to use the Arduino SIM card and the Sigfox service to make yourself independent of the presence of a Wi-Fi net.<\/p>\r\n<p>With the Arduino SIM card, you can access the Arduino IoT Cloud over the 3G network. The Sigfox solution uses a technology called 0G. With this, you do not access the Arduino IoT Cloud, but use a system of the French telecommunications company <a href=\"https:\/\/www.sigfox.com\/en\" target=\"_blank\" rel=\"noopener noreferrer\">Sigfox<\/a>. I still put this topic under the heading &#8220;Arduino IoT Cloud&#8221; because it can be realized using the Arduino board MKR FOX 1200. <\/p>\r\n<p>First of all, I have to say that both solutions have limitations in terms of data volume or data updates per unit of time. Regular data refresh every second is not possible. Whether this is a problem or not depends on the nature of your project. <\/p>\r\n<p>This article is based on knowledge from my previous article. So if questions arise, they might be answered there.<\/p>\r\n\n<h2 class=\"wp-block-heading\">Arduino SIM<\/h2>\n\n<h3 class=\"wp-block-heading\">What you need<\/h3>\n\n<h4 class=\"wp-block-heading\">Board and SIM card<\/h4>\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_GSM_1400.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_GSM_1400-1024x576.jpg\" alt=\"The board for the Arduino SIM - the MKR GSM 1400\" class=\"wp-image-8552\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_GSM_1400-1024x576.jpg 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_GSM_1400-300x169.jpg 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_GSM_1400-768x432.jpg 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_GSM_1400-1536x864.jpg 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_GSM_1400-1320x743.jpg 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_GSM_1400.jpg 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>The board for the Arduino SIM &#8211; the MKR GSM 1400<\/figcaption><\/figure><p>The only board that currently works with the Arduino SIM is the MKR GSM 1400. This board is available <a href=\"https:\/\/store.arduino.cc\/arduino-mkr-gsm-1400-1415\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> in the Arduino Store for 60 euros, but with taxes and shipping you even end up just below 80 euros (as of May 2020). You also get it in many electronic online shops, but not really cheaper. An antenna is usually included, but not the SIM card.<\/p>\r\n<p>You can get an Arduino SIM card for 3 Euro (+ taxes \/ shipping) <a href=\"https:\/\/store.arduino.cc\/arduino-sim\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> in the Arduino Store. In my opinion, the conditions are very fair, which perhaps comforts the board&#8217;s high price a little bit. The first three months are free with 10 MB credits, after that it costs 1.50 USD\/month for 5 MB\/month. You can pause the Arduino SIM card for up to six months and cancel the contract at any time. <strong>But please do not rely blindly on my information, but check the current conditions which might change!<\/strong> With 5 MB, a lot can be done, but not everything. More on that later.<\/p>\r\n<p>You can also buy the board and the SIM card a kit, see <a href=\"https:\/\/store.arduino.cc\/arduino-sim-mkr-gsm-1400-cellular-kit-1417\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. The other day, the board and kit were sold out. Then you have to wait or buy the board and SIM card separately. <\/p>\r\n\n<h4 class=\"wp-block-heading\">Further requirements<\/h4>\n<p>Then you need:<\/p>\r\n<ul>\r\n<li>an Arduino account<\/li>\r\n<li>the Arduino Create Agent<\/li>\r\n<li>the Maker Plan if you want to try a lot or use multiple boards in the Arduino IoT Cloud<\/li>\r\n<\/ul>\r\n<p>Please take a look at these points in my <a href=\"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-1-introduction\" target=\"_blank\" rel=\"noopener noreferrer\">last post<\/a> if necessary .<\/p>\r\n<p>Then you need to integrate the SAMD boards into the Arduino IDE if you haven&#8217;t done so before. If you need help, check out the <a href=\"https:\/\/www.arduino.cc\/en\/Guide\/MKRGSM1400\" target=\"_blank\" rel=\"noopener noreferrer\">Getting Started<\/a> pages here.<\/p>\r\n\n<h3 class=\"wp-block-heading\">The Arduino MKR GSM 1400 Board<\/h3>\n<p>Like all currently available Arduino IoT boards, the MKR GSM 1400 board is based on the SAMD21 Cortex-M0+ 32bit Low Power ARM microcontroller. I have already briefly reported on this in the last post. More technical details about the board can be found <a href=\"https:\/\/store.arduino.cc\/arduino-mkr-gsm-1400-1415\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. In addition, I recommend a look at the already mentioned Getting Started pages. <strong>Above all, please note that the board runs on 3.3 volts.<\/strong><\/p>\r\n\n<h3 class=\"wp-block-heading\">Connecting the Arduino MKR GSM 1400 board to the Arduino IoT cloud.<\/h3>\n<p>Now let&#8217;s start. At this point you must have the board and the SIM card. In addition, the SIM card must be activated, which is usually the case within 24 hours. Then you go to the <a href=\"https:\/\/create.arduino.cc\/\" target=\"_blank\" rel=\"noopener noreferrer\">Arduino Create page:<\/a><\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_Create-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"603\" height=\"417\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_Create-1.png\" alt=\"Arduino Create page - the central switchboard - also for the Arduino SIM card\" class=\"wp-image-8534\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_Create-1.png 603w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_Create-1-300x207.png 300w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/a><figcaption>Arduino Create page &#8211; the central switchboard<\/figcaption><\/figure><p>There you go to the Device Manager &#8211;&gt; Add new board &#8211;&gt; follow the instructions. I explained this already in my last post. But I would like to mention only one small difference, namely the entry of the SIM card data:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Enter_GSM_Data.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"596\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Enter_GSM_Data-1024x596.png\" alt=\"Enter the Arduino SIM card details\" class=\"wp-image-8535\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Enter_GSM_Data-1024x596.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Enter_GSM_Data-300x175.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Enter_GSM_Data-768x447.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Enter_GSM_Data.png 1247w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Enter the Arduino SIM card details<\/figcaption><\/figure><p>This data is the same for all Arduino SIM cards, and it seems it can&#8217;t be changed.<\/p>\r\n<ul>\r\n<li>APN: prepay.pelion<\/li>\r\n<li>PIN: 0000<\/li>\r\n<li>USER_NAME: arduino<\/li>\r\n<li>PASSWORD: arduino<\/li>\r\n<\/ul>\r\n<p>At the end of the installation, you upload an example sketch that allows you to turn the on-board LED on and off.<\/p>\r\n\n<h4 class=\"wp-block-heading\">Connection quality with the Arduino SIM<\/h4>\n<p>I live quite rural, with mediocre radio connection. Nevertheless, everything worked wonderfully even from enclosed spaces. Only the first connection was a little delayed. So don&#8217;t give up right away. <\/p>\r\n\n<h3 class=\"wp-block-heading\">Create a new thing<\/h3>\n<p>I took over the task for our thing from the <a href=\"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-1-introduction\" target=\"_blank\" rel=\"noopener noreferrer\">last post.<\/a> A DHT22 sensor shall be read and an LED shall be switched. Of course, you can also try anything else. Ideally, however, you should choose one property that you control (read and write) and another that you only read.<\/p>\r\n\n<h4 class=\"wp-block-heading\">The test sketch<\/h4>\n<p>The sketch should look like this or similar.<\/p>\r\n<div class=\"scroll-paragraph-long\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-group=\"Arduino_SIM_Example.ino\" data-enlighter-title=\"Arduino_SIM_Example.ino\">#include \"thingProperties.h\"\r\n#include \"DHT.h\"\r\n\r\n#define LED_PIN 8\r\n#define DHTPIN 7 \r\n#define DHTTYPE DHT22\r\n\r\nDHT dht(DHTPIN, DHTTYPE);\r\n\r\nvoid setup() {\r\n  \/\/ You can of course delete all Serial Monitor Outputs after you've tested everything  \r\n  Serial.begin(9600);\r\n  \/\/ This delay gives the chance to wait for a Serial Monitor without blocking if none is found\r\n  delay(1500); \r\n  dht.begin();\r\n  pinMode(LED_PIN, OUTPUT);\r\n\r\n  \/\/ Defined in thingProperties.h\r\n  initProperties();\r\n\r\n  \/\/ Connect to Arduino IoT Cloud\r\n  ArduinoCloud.begin(ArduinoIoTPreferredConnection);\r\n    \r\n  setDebugMessageLevel(2);\r\n  ArduinoCloud.printDebugInfo();\r\n}\r\n\r\nvoid loop() {\r\n  static unsigned long lastMeasurement = millis();\r\n  ArduinoCloud.update();\r\n  if((millis() - lastMeasurement) &gt; 3000){\r\n    myTemp = dht.readTemperature(); \r\n    Serial.print(\"Temperatur: \"); \r\n    Serial.print(myTemp);\r\n    Serial.println(\" C\");\r\n    lastMeasurement = millis();\r\n  }\r\n}\r\n\r\nvoid onLedStatusChange() {\r\n    digitalWrite(LED_PIN, ledStatus);\r\n    Serial.print(\"The light is \");\r\n    if (ledStatus) {\r\n        Serial.println(\"ON\");\r\n    } else {\r\n        Serial.println(\"OFF\");\r\n    }\r\n}<\/pre>\r\n<p>&nbsp;<\/p>\r\n<\/div>\r\n<p>And here is the header file thingProperties.h:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-group=\"thingProperties.h\" data-enlighter-title=\"thingProperties.h\">#include &lt;ArduinoIoTCloud.h&gt;\r\n#include &lt;Arduino_ConnectionHandler.h&gt;\r\n\r\nconst char THING_ID[]      = \"e8095xxxxxxxxxxxxxxxxxxxxxxxxxbbc\";\r\n\r\nconst char GPRS_APN[]      = SECRET_APN;\r\nconst char PINNUMBER[]     = SECRET_PIN;\r\nconst char GPRS_LOGIN[]    = SECRET_USERNAME;\r\nconst char GPRS_PASSWORD[] = SECRET_PASSWORD;\r\n\r\nvoid onLedStatusChange();\r\n\r\nCloudTemperature myTemp;\r\nbool ledStatus;\r\n\r\nvoid initProperties(){\r\n\r\n  ArduinoCloud.setThingId(THING_ID);\r\n  ArduinoCloud.addProperty(myTemp, READ, ON_CHANGE, NULL);\r\n  ArduinoCloud.addProperty(ledStatus, READWRITE, ON_CHANGE, onLedStatusChange);\r\n\r\n}\r\n\r\nGSMConnectionHandler ArduinoIoTPreferredConnection(PINNUMBER, GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD);<\/pre>\r\n<p>&nbsp;<\/p>\r\n<p>Finally, for the sake of completeness, the corresponding circuit:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_SIM_Wiring.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"468\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_SIM_Wiring-1024x468.png\" alt=\"Arduino SIM - Circuit for the MKR GSM 1400\" class=\"wp-image-8553\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_SIM_Wiring-1024x468.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_SIM_Wiring-300x137.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_SIM_Wiring-768x351.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_SIM_Wiring-1320x604.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Arduino_SIM_Wiring.png 1332w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Arduino SIM &#8211; Circuit for the MKR GSM 1400<\/figcaption><\/figure>\n<h4 class=\"wp-block-heading\">Now we build our thing<\/h4>\n<p>To create a thing, follow the instructions on the Arduino pages. Click back to the <a href=\"https:\/\/create.arduino.cc\/\" target=\"_blank\" rel=\"noopener noreferrer\">Arduino Create page<\/a> &#8211;&gt; Arduino IoT Cloud &#8211;&gt; ADD NEW THING. So everything like in the last post.<\/p>\r\n<p>This time, however, I would like to show an option that I had mentioned only briefly so far. If you tick the box next to &#8220;Show History Visualization&#8221; in the Properties section, you can see the value history. I did this once and cooled down my sensor with cold spray. Here&#8217;s what the result looks like in the dashboard:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Temp_History.png\"><img loading=\"lazy\" decoding=\"async\" width=\"783\" height=\"494\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Temp_History.png\" alt=\"Arduino SIM in Action\" class=\"wp-image-8536\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Temp_History.png 783w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Temp_History-300x189.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Temp_History-768x485.png 768w\" sizes=\"auto, (max-width: 783px) 100vw, 783px\" \/><\/a><figcaption>Arduino SIM in Action &#8211; with data history<\/figcaption><\/figure>\n<h4 class=\"wp-block-heading\">Data usage of the Arduino SIM card<\/h4>\n<p>The 5 MB\/month provided to you with the Arduino SIM should actually be enough for a lot of data. To my astonishment, however, I found that the data usage of my sketch shown above was very high. The 5 MB would have been used up in a few days.<\/p>\r\n<p>The call of <code>ArduinoCloud.update()<\/code> takes place at high frequency because I did not insert a delay into the main loop. Only every three seconds there is a break when the temperature is measured. However, in the property definition of temperature, I specified that an update should only be made if the delta is greater than or equal to 0.1 degrees to the last updated value. And since my workroom is quite constant tempered, the frequency of updates should be limited.<\/p>\r\n<p>So the issue seems to be the size of the transmitted data packets. The measured value itself is only a &#8220;float&#8221; of four bytes. Surely the Thing ID will be sent along and some additional transmission protocol stuff. Encryption may also have an impact. A test with fixed update frequency (i.e. not &#8220;on change&#8221;) showed that per update of my temperature about 600 &#8211; 800 bytes are consumed. That means 5 MB for a month would allow updates about every 5 to 10 minutes. <\/p>\r\n<p>I tried to understand what exactly is being transferred with the updates in the relevant libraries and header files. But then I &#8220;lost&#8221; myself in it and instead asked about the size of the data packets in the Arduino Forum (so far without an answer).<\/p>\r\n\n<h4 class=\"wp-block-heading\">Solutions to reduce data consumption<\/h4>\n<p>One solution is to limit the number of <code>ArduinoCloud.update()<\/code> calls. In the example sketch above, you could, for example, add the function into the loop which ensures that the temperature is read only every 3 seconds. However, you would have to set the interval much higher. The disadvantage is that the LED is then switched accordingly delayed.<\/p>\r\n<p>Or you don&#8217;t define an update &#8220;on change&#8221; but an update &#8220;every x seconds&#8221;.<\/p>\r\n<p>Alternatively, you could only call the <code>ArduinoCloud.update()<\/code> function if you really need it, e.g. if limit values are exceeded, triggering an alarm system, etc. But then it becomes difficult to communicate into the direction of the board because without updating no switching&#8230;.<\/p>\r\n<p>In any case, at least initially, you should check the remaining data quota of the Arduino SIM card via Arduino Create &#8211;&gt; Device Manager on a regular basis.<\/p>\r\n\n<h2 class=\"wp-block-heading\">Sigfox<\/h2>\n<p>As already mentioned, Sigfox is first of all a French telecommunications company. Sigfox has built a wireless network which is based on the Low-Power Wide-Area Network (LPWAN) technology and uses 868 MHz. It is designed specifically for IoT applications that require low data transfer. If you want to know more about the company and the technology, then I recommend a look at this <a href=\"https:\/\/de.wikipedia.org\/wiki\/Sigfox\" target=\"_blank\" rel=\"noopener noreferrer\">Wikipedia article<\/a> and the <a href=\"https:\/\/www.sigfox.com\/en\" target=\"_blank\" rel=\"noopener noreferrer\">Sigfox<\/a> websites.&nbsp;<\/p>\r\n<p>I have put relatively little effort into this part of the article. In essence, I just followed the instructions on the Arduino pages and modified them a bit:<\/p>\r\n<ul>\r\n<li><a href=\"https:\/\/www.arduino.cc\/en\/Tutorial\/SigFoxFirstConfiguration\">MKR Fox 1200 First Configuration<\/a><\/li>\r\n<li><a href=\"https:\/\/www.arduino.cc\/en\/Tutorial\/SigFoxEventTrigger\">Event trigger<\/a>&nbsp;<\/li>\r\n<\/ul>\r\n\n<h3 class=\"wp-block-heading\">Check the network coverage<\/h3>\n<p>Before you spend money on the hardware, you should check the availability of the Sigfox network for your project location. In August 2019, Sigfox (according to Sigfox) achieved an area coverage of 85% in Germany (<a href=\"https:\/\/sigfox.de\/sigfox-0g-erreicht-85-netzabdeckung-in-deutschland\/\" target=\"_blank\" rel=\"noopener noreferrer\">link to article<\/a>) and it is planned to increase that number.<\/p>\r\n<p>It&#8217;s best to check the availability for your location <a href=\"https:\/\/sigfox.de\/coverage\/\" target=\"_blank\" rel=\"noopener noreferrer\">here.<\/a> On the interactive map you will get information about the predicted indoor and outdoor connection quality. I zoomed into the map that I could check the network quality exactly for my house. The result was: outdoor &#8211; excellent and indoor &#8211; OK. The reality was: outdoor &#8211; borderline, indoor &#8211; didn&#8217;t work at all. I have to say, however, that the map predicted a bad connection a little further down the road. I recommend to set several markers on the map near your project location. If there are no bad results anywhere, I would be optimistic that it will actually work.<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Coverage.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"400\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Coverage-1024x400.png\" alt=\"Network quality - left prediction, right: reality (outdoor); Link Quality Indicator (LQI) at the limit; Arduino SIM worked better\" class=\"wp-image-8562\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Coverage-1024x400.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Coverage-300x117.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Coverage-768x300.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Coverage-1536x599.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Coverage-1320x515.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Coverage.png 1640w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Network quality &#8211; left prediction, right: reality (outdoor); Link Quality Inidcator (LQI) at the limit<\/figcaption><\/figure>\n<h3 class=\"wp-block-heading\">The Arduino MKR Fox 1200 Board<\/h3>\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_FOX_1200.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"609\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_FOX_1200-1024x609.jpg\" alt=\"\" class=\"wp-image-8554\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_FOX_1200-1024x609.jpg 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_FOX_1200-300x178.jpg 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_FOX_1200-768x457.jpg 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_FOX_1200-1536x913.jpg 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_FOX_1200-1320x785.jpg 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKR_FOX_1200.jpg 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>The Arduino MKR Fox 1200 Board<\/figcaption><\/figure><p>The MKR Fox 1200 is currently the only Arduino board designed for Sigfox.<\/p>\r\n<p>This board is also based on the Low Power Arm\u00ae Cortex\u00ae-M0 32-bit SAMD21. Please pay attention to the board voltage of 3.3 volts again. You find additional technical data about the board <a href=\"https:\/\/store.arduino.cc\/arduino-mkr-fox-1200-1408\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> on the Arduino pages. In addition, I recommend a look at the <a href=\"https:\/\/www.arduino.cc\/en\/Guide\/MKRFox1200\" target=\"_blank\" rel=\"noopener noreferrer\">Getting Started<\/a> pages, as well as the functions of the <a href=\"https:\/\/www.arduino.cc\/en\/Reference\/ArduinoLowPower\" target=\"_blank\" rel=\"noopener noreferrer\">Low Power Library<\/a>.<\/p>\r\n<p>The board costs 35 euros in the Arduino Store plus taxes and shipping (as of May 2020). This includes a one-year use of the Sigfox IoT service with 140 messages per day worth 20 euros. After that, you have to pay for the service. A price list for Germany can be found <a href=\"https:\/\/buy.sigfox.com\/buy\/offers\/DE\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. The price depends mainly on how many messages you want to send per day (2, 50 or 140). <\/p>\r\n\n<h3 class=\"wp-block-heading\">Preparations<\/h3>\n\n<h4 class=\"wp-block-heading\">Preparing the Arduino IDE<\/h4>\n<p>First, you need to prepare the Arduino IDE. If you have not already done so, install the Arduino SAMD Boards in the Board Manager. Then you need the libraries &#8220;Arduino SigFox for MKRFox1200&#8221; and &#8220;Arduino Low Power&#8221;, which you get via the Library manager. <\/p>\r\n\n<h4 class=\"wp-block-heading\">Sigfox Access<\/h4>\n<p>To get a Sigfox account, follow this <a href=\"https:\/\/sigfoxsurvey.typeform.com\/to\/PH8OIz?source=hardware&amp;partner=arduino\" target=\"_blank\" rel=\"noopener noreferrer\">link<\/a> and select &#8220;Apply now&#8221;. First you will be asked for the company name, but you can alternatively type in your name. You will also be asked for your website &#8211; enter something there. This is followed by a number of other rather curious questions until you land here:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Join-Starter-Program.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"388\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Join-Starter-Program-1024x388.png\" alt=\"\" class=\"wp-image-8539\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Join-Starter-Program-1024x388.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Join-Starter-Program-300x114.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Join-Starter-Program-768x291.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Join-Starter-Program.png 1187w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>Before that, you received an email for setting your password. Now you can leave the Sigfox pages first.<\/p>\r\n\n<h4 class=\"wp-block-heading\">Read Board ID and PAC<\/h4>\n<p>To read your Board ID and the so-called PAC, download the following sketch to the MKR Fox 1200:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-group=\"ID_and_PAC_read.ino\" data-enlighter-title=\"ID_and_PAC_read.ino\">#include &lt;SigFox.h&gt;\r\n#include &lt;ArduinoLowPower.h&gt;\r\n\r\nvoid setup() {\r\n  Serial.begin(9600);\r\n\r\n  while (!Serial) {};\r\n\r\n  if (!SigFox.begin()) {\r\n    Serial.println(\"Shield error or not present!\");\r\n    return;\r\n  }\r\n  String version = SigFox.SigVersion();\r\n  String ID = SigFox.ID();\r\n  String PAC = SigFox.PAC();\r\n\r\n  \/\/ Display module informations\r\n  Serial.println(\"MKRFox1200 Sigfox first configuration\");\r\n  Serial.println(\"SigFox FW version \" + version);\r\n  Serial.println(\"ID  = \" + ID);\r\n  Serial.println(\"PAC = \" + PAC);\r\n\r\n  Serial.println(\"\");\r\n\r\n\/\/  Serial.print(\"Module temperature: \");\r\n\/\/  Serial.println(SigFox.temperatureL()); --&gt; funktionierte nicht bei mir!\r\n\r\n  Serial.println(\"Register your board on https:\/\/backend.sigfox.com\/activate with provided ID and PAC\");\r\n\r\n  delay(100);\r\n\r\n  \/\/ Send the module to the deepest sleep\r\n  SigFox.end();\r\n\r\n}\r\n\r\nvoid loop() {\r\n}<\/pre>\r\n<p>&nbsp;<\/p>\r\n<p>The output should look like this or similar:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Output_SigFox_Board_auslesen.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"380\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Output_SigFox_Board_auslesen-1024x380.png\" alt=\"Read ID and PAC - output on the serial monitor\" class=\"wp-image-8540\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Output_SigFox_Board_auslesen-1024x380.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Output_SigFox_Board_auslesen-300x111.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Output_SigFox_Board_auslesen-768x285.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Output_SigFox_Board_auslesen.png 1046w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Read ID and PAC<\/figcaption><\/figure><p>The ID is a unique identification number for your board, the PAC is a kind of security code for registering the board at Sigfox. Save the numbers or write them down. <\/p>\r\n\n<h4 class=\"wp-block-heading\">Register MKR Fox 1200 with Sigfox<\/h4>\n<p>Now you navigate to the <a href=\"https:\/\/backend.sigfox.com\/activate\" target=\"_blank\" rel=\"noopener noreferrer\">backend area<\/a> of Sigfox and log in with the previously received credentials. Again, there are a number of questions. First, select the country:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/which_country.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"661\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/which_country-1024x661.png\" alt=\"Sigfox Access - Selection of the country\" class=\"wp-image-8541\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/which_country-1024x661.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/which_country-300x194.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/which_country-768x496.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/which_country.png 1299w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Sigfox Access &#8211; Selection of the country<\/figcaption><\/figure><p>Now you need the ID and the PAC. At &#8220;Tell us about your project&#8221; you can enter something (nicely something useful):<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/ID_und_PAC_eintragen.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"618\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/ID_und_PAC_eintragen-1024x618.png\" alt=\"Sigfox is quite curious - more effort than with the Arduino SIM card\" class=\"wp-image-8542\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/ID_und_PAC_eintragen-1024x618.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/ID_und_PAC_eintragen-300x181.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/ID_und_PAC_eintragen-768x464.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/ID_und_PAC_eintragen.png 1126w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Sigfox is quite curious<\/figcaption><\/figure><p>And more questions. With the company name, you take your name again, unless of course you have a company. Then select &#8220;Activate your Kit&#8221;. Now you find your board in the Device List:<\/p>\r\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_List.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"252\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_List-1024x252.png\" alt=\"\" class=\"wp-image-8543\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_List-1024x252.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_List-300x74.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_List-768x189.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_List-1536x378.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_List-1320x325.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_List.png 1749w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>Then go to the top of the menu to DEVICE TYPE, then click on the N\/A under Keep alive, then select edit:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_Type_Keep_Alive_Edit.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"309\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_Type_Keep_Alive_Edit-1024x309.png\" alt=\"\" class=\"wp-image-8555\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_Type_Keep_Alive_Edit-1024x309.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_Type_Keep_Alive_Edit-300x90.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_Type_Keep_Alive_Edit-768x231.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_Type_Keep_Alive_Edit-1536x463.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_Type_Keep_Alive_Edit-1320x398.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Device_Type_Keep_Alive_Edit.png 1706w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>In the next window that opens, you enter a keep-alive value, e.g. 30 min and change the download mode to &#8220;DIRECT&#8221;. Then confirm with OK.<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Download_Mode.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"437\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Download_Mode-1024x437.png\" alt=\"\" class=\"wp-image-8556\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Download_Mode-1024x437.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Download_Mode-300x128.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Download_Mode-768x328.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Download_Mode-1536x656.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Download_Mode-1320x563.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Download_Mode.png 1736w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>Click on Device at the top, then on your ID in the list. Here you can find information about your board. You can also click on the other menu items on the left (location, messages, etc.). But that&#8217;s not so much exciting, as you haven&#8217;t had any connections yet. Later you can come back here. Sigfox asks a lot, but also tells a lot.<\/p>\r\n\n<h3 class=\"wp-block-heading\">A first test<\/h3>\n<p>Go back to the Arduino IDE and upload the following sketch to the MKR Fox 1200:<\/p>\r\n<div class=\"scroll-paragraph-long\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-group=\"first_test.ino\" data-enlighter-title=\"first_test.ino\">#include &lt;SigFox.h&gt;\r\n#include &lt;ArduinoLowPower.h&gt;\r\n\r\nvoid setup() {\r\n  Serial.begin(9600);\r\n  while (!Serial) {};\r\n\r\n  \/\/ Uncomment this line and comment begin() if you are working with a custom board\r\n  \/\/if (!SigFox.begin(SPI1, 30, 31, 33, 28, LED_BUILTIN)) {\r\n  if (!SigFox.begin()) {\r\n    Serial.println(\"Shield error or not present!\");\r\n    return;\r\n  }\r\n  \/\/ Enable debug led and disable automatic deep sleep\r\n  \/\/ Comment this line when shipping your project :)\r\n  SigFox.debug();\r\n\r\n  \r\n  \/\/ Send the module to the deepest sleep\r\n  SigFox.end();\r\n\r\n  Serial.println(\"Type the message to be sent\");\r\n  while (!Serial.available());\r\n\r\n  String message;\r\n  while (Serial.available()) {\r\n    message += (char)Serial.read();\r\n  }\r\n\r\n  \/\/ Every SigFox packet cannot exceed 12 bytes\r\n  \/\/ If the string is longer, only the first 12 bytes will be sent\r\n\r\n  if (message.length() &gt; 12) {\r\n    Serial.println(\"Message too long, only first 12 bytes will be sent\");\r\n  }\r\n\r\n  Serial.println(\"Sending \" + message);\r\n\r\n  \/\/ Remove EOL\r\n  message.trim();\r\n\r\n  \/\/ Example of message that can be sent\r\n  \/\/ sendString(message);\r\n\r\n  Serial.println(\"Getting the response will take up to 50 seconds\");\r\n  Serial.println(\"The LED will blink while the operation is ongoing\");\r\n\r\n  \/\/ Example of send and read response\r\n  sendStringAndGetResponse(message);\r\n}\r\n\r\nvoid loop()\r\n{\r\n}\r\n\r\nvoid sendString(String str) {\r\n  \/\/ Start the module\r\n  SigFox.begin();\r\n  \/\/ Wait at least 30mS after first configuration (100mS before)\r\n  delay(100);\r\n  \/\/ Clears all pending interrupts\r\n  SigFox.status();\r\n  delay(1);\r\n\r\n  SigFox.beginPacket();\r\n  SigFox.print(str);\r\n\r\n  int ret = SigFox.endPacket();  \/\/ send buffer to SIGFOX network\r\n  if (ret &gt; 0) {\r\n    Serial.println(\"No transmission\");\r\n  } else {\r\n    Serial.println(\"Transmission ok\");\r\n  }\r\n\r\n  Serial.println(SigFox.status(SIGFOX));\r\n  Serial.println(SigFox.status(ATMEL));\r\n  SigFox.end();\r\n}\r\n\r\nvoid sendStringAndGetResponse(String str) {\r\n  \/\/ Start the module\r\n  SigFox.begin();\r\n  \/\/ Wait at least 30mS after first configuration (100mS before)\r\n  delay(100);\r\n  \/\/ Clears all pending interrupts\r\n  SigFox.status();\r\n  delay(1);\r\n\r\n  SigFox.beginPacket();\r\n  SigFox.print(str);\r\n\r\n  int ret = SigFox.endPacket(true);  \/\/ send buffer to SIGFOX network and wait for a response\r\n  if (ret &gt; 0) {\r\n    Serial.println(\"No transmission\");\r\n  } else {\r\n    Serial.println(\"Transmission ok\");\r\n  }\r\n\r\n  Serial.println(SigFox.status(SIGFOX));\r\n  Serial.println(SigFox.status(ATMEL));\r\n\r\n  if (SigFox.parsePacket()) {\r\n    Serial.println(\"Response from server:\");\r\n    while (SigFox.available()) {\r\n      Serial.print(\"0x\");\r\n      Serial.println(SigFox.read(), HEX);\r\n    }\r\n  } else {\r\n    Serial.println(\"Could not get any response from the server\");\r\n    Serial.println(\"Check the SigFox coverage in your area\");\r\n    Serial.println(\"If you are indoor, check the 20dB coverage or move near a window\");\r\n  }\r\n  Serial.println();\r\n\r\n  SigFox.end();\r\n}<\/pre>\r\n<p>&nbsp;<\/p>\r\n<\/div>\r\n<p>In the serial monitor you enter any message of a maximum of 12 bytes. This is not a limitation of the sketch, but a limitation by Sigfox. More doesn&#8217;t fit in. If you want to send sensor data or similar later, you could choose e.g. 6 integers or 3 floats. What exactly you do in this test is not important, since you have not yet defined an action at Sigfox. <\/p>\r\n<p>The moment of truth: now you see whether you can connect to Sigfox or not. If all goes well, you should get an answer from Sigfox:<\/p>\r\n\n<figure class=\"wp-block-image is-resized size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox-Response.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox-Response.png\" alt=\"Success - Sigfox responds\" class=\"wp-image-8557\" width=\"580\" height=\"259\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox-Response.png 993w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox-Response-300x134.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox-Response-768x344.png 768w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><figcaption>Success &#8211; Sigfox responds<\/figcaption><\/figure><p>If the connection doesn&#8217;t work, you could place the antenna near a window or try it outside again. <\/p>\r\n<p>When you return to Sigfox and to your device, you&#8217;ll find information about connection quality, the number of messages sent, and more. <\/p>\r\n\n<h3 class=\"wp-block-heading\">An Event Trigger<\/h3>\n<p>Now we want Sigfox to work for us. That means, when Sigfox receives a message, a specific action should follow. As a simple example, taken from <a href=\"https:\/\/www.arduino.cc\/en\/Tutorial\/SigFoxEventTrigger\" target=\"_blank\" rel=\"noopener noreferrer\">here,<\/a> two buttons are attached to the MKR Fox 1200. If one of the buttons is pressed, a message is sent to Sigfox and Sigfox should inform you by e-mail. <\/p>\r\n\n<h4 class=\"wp-block-heading\">Preparations on the Sigfox web page<\/h4>\n<p>Go back to Sigfox in the <a href=\"https:\/\/backend.sigfox.com\/welcome\/news\" target=\"_blank\" rel=\"noopener noreferrer\">backend area.<\/a> Go to Device at the top of the page, and then to the entry under Device-Type in the Device-List:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Callback_einrichten.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"285\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Callback_einrichten-1024x285.png\" alt=\"\" class=\"wp-image-8558\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Callback_einrichten-1024x285.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Callback_einrichten-300x84.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Callback_einrichten-768x214.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Callback_einrichten-1536x428.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Callback_einrichten-1320x368.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Callback_einrichten.png 1727w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>Then click on callbacks on the left side menu. Next, click on &#8220;New&#8221; (top right). Then select &#8220;Custom callbacks&#8221; from the list:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_2-1024x283.png\" alt=\"\" class=\"wp-image-8547\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_2-1024x283.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_2-300x83.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_2-768x213.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_2-1536x425.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_2-1320x365.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_2.png 1741w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>In the next window, you select EMAIL as CHANNEL:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_3-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"337\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_3-1-1024x337.png\" alt=\"\" class=\"wp-image-8549\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_3-1-1024x337.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_3-1-300x99.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_3-1-768x252.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_3-1-1536x505.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_3-1-1320x434.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_3-1.png 1698w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>Then comes the most important point. You enter the structure of your messages in the &#8220;Custom payload config&#8221; field, in this example:<\/p>\r\n<ul>\r\n<li>str::char:3 boardID::char:8 alarmID::char:1<\/li>\r\n<\/ul>\r\n<p>This means that the 12 byte message shall be interpreted as follows:<\/p>\r\n<ul>\r\n<li>the variable &#8220;str&#8221; are the first three characters<\/li>\r\n<li>followed by &#8220;boardID&#8221; with eight characters<\/li>\r\n<li>and finally the &#8220;alarmID&#8221; which is a single char<\/li>\r\n<\/ul>\r\n<p>How you divide this up and how you name the variables is completely up to you. You only have to ensure that you end up with twelve bytes.<\/p>\r\n<p>As recipient, enter the destination email address. <\/p>\r\n<p>In the subject and message you can then write free text and use the variables. For the variables, you use the following spelling:<\/p>\r\n<ul>\r\n<li>{customData#<em>Name_der_Variablen<\/em>}<\/li>\r\n<\/ul>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"625\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_4-1024x625.png\" alt=\"\" class=\"wp-image-8551\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_4-1024x625.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_4-300x183.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_4-768x469.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_4.png 1171w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>In addition to the variable type char, you can also pass integer types, floats, bools, etc. If you click on the question mark behind &#8220;Custom payload config&#8221;, you will get a guide to encoding the variables.<\/p>\r\n\n<h4 class=\"wp-block-heading\">Preparations on the Arduino side<\/h4>\n<p>Upload the following sketch on your MKR Fox 1200 board:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/*\r\n  SigFox Event Trigger tutorial\r\n\r\n  This sketch demonstrates the usage of a MKRFox1200\r\n  to build a battery-powered alarm sensor with email notifications\r\n\r\n  A couple of sensors (normally open) should we wired between pins 1 and 2 and GND.\r\n\r\n  This example code is in the public domain.\r\n*\/\r\n\r\n#include &lt;SigFox.h&gt;\r\n#include &lt;ArduinoLowPower.h&gt;\r\n\r\n\/\/ Set debug to false to enable continuous mode\r\n\/\/ and disable serial prints\r\nint debug = true;\r\n\r\nvolatile int alarm_source = 0;\r\n\r\nvoid setup() {\r\n\r\n  if (debug == true) {\r\n\r\n    \/\/ We are using Serial1 instead than Serial because we are going in standby+\r\n    \/\/ and the USB port could get confused during wakeup. To read the debug prints,\r\n    \/\/ connect pins 13-14 (TX-RX) to a 3.3V USB-to-serial converter\r\n\r\n    Serial1.begin(115200);\r\n    while (!Serial1) {}\r\n  }\r\n\r\n  if (!SigFox.begin()) {\r\n    \/\/something is really wrong, try rebooting\r\n    reboot();\r\n  }\r\n\r\n  \/\/Send module to standby until we need to send a message\r\n  SigFox.end();\r\n\r\n  if (debug == true) {\r\n    \/\/ Enable debug prints and LED indication if we are testing\r\n    SigFox.debug();\r\n  }\r\n\r\n  \/\/ attach pin 0 and 1 to a switch and enable the interrupt on voltage falling event\r\n  pinMode(0, INPUT_PULLUP);\r\n  LowPower.attachInterruptWakeup(0, alarmEvent1, FALLING);\r\n\r\n  pinMode(1, INPUT_PULLUP);\r\n  LowPower.attachInterruptWakeup(1, alarmEvent2, FALLING);\r\n}\r\n\r\nvoid loop()\r\n{\r\n  \/\/ Sleep until an event is recognized\r\n  LowPower.sleep();\r\n\r\n  \/\/ if we get here it means that an event was received\r\n\r\n  SigFox.begin();\r\n\r\n  if (debug == true) {\r\n    Serial1.println(\"Alarm event on sensor \" + String(alarm_source));\r\n  }\r\n  delay(100);\r\n\r\n  \/\/ 3 bytes (ALM) + 4 bytes (ID) + 1 byte (source) &lt; 12 bytes\r\n  String to_be_sent = \"ALM\" + SigFox.ID() +  String(alarm_source);\r\n\r\n  SigFox.beginPacket();\r\n  SigFox.print(to_be_sent);\r\n  int ret = SigFox.endPacket();\r\n\r\n  \/\/ shut down module, back to standby\r\n  SigFox.end();\r\n\r\n  if (debug == true) {\r\n    if (ret &gt; 0) {\r\n      Serial1.println(\"No transmission\");\r\n    } else {\r\n      Serial1.println(\"Transmission ok\");\r\n    }\r\n\r\n    Serial1.println(SigFox.status(SIGFOX));\r\n    Serial1.println(SigFox.status(ATMEL));\r\n\r\n    \/\/ Loop forever if we are testing for a single event\r\n    while (1) {};\r\n  }\r\n}\r\n\r\nvoid alarmEvent1() {\r\n  alarm_source = 1;\r\n}\r\n\r\nvoid alarmEvent2() {\r\n  alarm_source = 2;\r\n}\r\n\r\nvoid reboot() {\r\n  NVIC_SystemReset();\r\n  while (1);\r\n}<\/pre>\r\n<p>&nbsp;<\/p>\r\n<p>The sketch (which I copied from the Arduino web pages) is easy to understand, but has a few particularities:<\/p>\r\n<ul>\r\n<li>The Sketch uses the <a href=\"https:\/\/www.arduino.cc\/en\/Reference\/ArduinoLowPower\" target=\"_blank\" rel=\"noopener noreferrer\">Low Power Library<\/a> to save power on battery-powered projects, so it uses <code>LowPower.attachInterruptWakeUp()<\/code> instead of the traditional <code>attachInterrupt()<\/code>. The function ensures that the board wakes up from Sleep Mode when the button is pressed and the interrupt is triggered.<\/li>\r\n<li>The sleep function or the wake-up could make problems with the USB port. Therefore, the output is assigned to Serial1, which is on pin 13 and 14. <br>\r\n<ul>\r\n<li>To get the output to the serial monitor, you need to use a USB-to-serial adapter. You can get it for a few euros e.g. <a href=\"https:\/\/smile.amazon.de\/s?k=ftdi+usb+adapter&amp;__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=3PJIMX1N6V2XI&amp;sprefix=FTDI+%2Caps%2C156&amp;ref=nb_sb_ss_i_3_5\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<li>Once you have uploaded the sketch, you will no longer see the port for your board in the Arduino IDE. You switch to the port of the USB-to-Serial Adapter. Then you can track the debug outputs on the serial monitor.<\/li>\r\n<li>Sporadically, the &#8220;Board Port&#8221; did not appear at all. In this case, double-clicking on the reset button of the board may solve the issue. If necessary, you can also upload the sketches via the USB-to-Serial Adapter. Also in this case, you can double-click the reset button beforehand.<\/li>\r\n<\/ul>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKRFox1200_Wiring.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"562\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKRFox1200_Wiring-1024x562.png\" alt=\"The circuit for our Sigfox test\" class=\"wp-image-8559\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKRFox1200_Wiring-1024x562.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKRFox1200_Wiring-300x165.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKRFox1200_Wiring-768x422.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKRFox1200_Wiring-1320x725.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/MKRFox1200_Wiring.png 1459w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>The circuit for our Sigfox test<\/figcaption><\/figure>\n<h4 class=\"wp-block-heading\">The result<\/h4>\n<p>If you press one of the two buttons now, you will get an output on the serial monitor like the one shown below. The error messages do not necessarily mean that the message has not been received:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_Serieller_Monitor.png\"><img loading=\"lazy\" decoding=\"async\" width=\"716\" height=\"349\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_Serieller_Monitor.png\" alt=\"\" class=\"wp-image-8561\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_Serieller_Monitor.png 716w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Event_Trigger_Serieller_Monitor-300x146.png 300w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><\/a><\/figure><p>It is much more important whether you have now received an email like the following:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox_Email.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"266\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox_Email-1024x266.png\" alt=\"Sigfox informs about an event\" class=\"wp-image-8560\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox_Email-1024x266.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox_Email-300x78.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox_Email-768x200.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox_Email-1320x343.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/Sigfox_Email.png 1438w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Sigfox informs about an event<\/figcaption><\/figure><p>The time (&#8220;ausgel\u00f6st um&#8221; = triggered by &#8230;) is in seconds. The zero point, by the way, refers to the beginning of the Unix era on 1 January 1970. More information on this topic can be found <a href=\"https:\/\/www.epochconverter.com\/seconds-days-since-y0\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. Might be interesting.<\/p>\r\n\n<h4 class=\"wp-block-heading\">More on Sigfox<\/h4>\n<p>I have only scratched the surface of the Sigfox universe with this post. For example, instead of sending e-mails, you could also send the event messages to a website to update the status there. On the one hand, however, dealing with this would go beyond the scope of this article, and on the other hand, this kind of things is not exactly my core competency.<\/p>\r\n\n<h2 class=\"wp-block-heading\">Arduino IoT, Arduino SIM and Sigfox &#8211; my preliminary conclusion<\/h2>\n<p>Here is my conclusion, which relates to this and my last article.<\/p>\r\n\n<h4 class=\"wp-block-heading\">Arduino IoT in general (via Wi-Fi or cable)<\/h4>\n<p><strong>Positives<\/strong>:<\/p>\r\n<ul>\r\n<li>Easy to set up<\/li>\r\n<li>Visually appealing (New Dashboards)<\/li>\r\n<li>Advanced features using webhooks (not yet discussed)<\/li>\r\n<li>Security is guaranteed by the crypto chips on the boards<\/li>\r\n<\/ul>\r\n<p><strong>Negatives<\/strong>:<\/p>\r\n<ul>\r\n<li>Restrictions on free operation (Free Plan)<\/li>\r\n<li>Works only with Arduino boards &#8211; and these are quite expensive<\/li>\r\n<li>Limited degrees of freedom, prefabricated system<\/li>\r\n<\/ul>\r\n\n<h4 class=\"wp-block-heading\">Arduino SIM<\/h4>\n<p><strong>Positives<\/strong>:<\/p>\r\n<ul>\r\n<li>Easy to set up<\/li>\r\n<li>Wi-Fi independent, good coverage<\/li>\r\n<li>Contract can be cancelled or paused at any time<\/li>\r\n<\/ul>\r\n<p><strong>Negatives<\/strong>:<\/p>\r\n<ul>\r\n<li>Works only with the MKR GSM 1400<\/li>\r\n<li>High acquisition costs<\/li>\r\n<li>5 MB are exhausted faster than expected<\/li>\r\n<li>Little transparency regarding the size of the data packets<\/li>\r\n<\/ul>\r\n\n<h4 class=\"wp-block-heading\">Sigfox<\/h4>\n<p>Here, of course, I have to say that I can only speak about access via Arduino and not about Sigfox in general.<\/p>\r\n<p><strong>Positives<\/strong>:<\/p>\r\n<ul>\r\n<li>Relatively easy to set up<\/li>\r\n<li>Very transparent (statistics, data consumption, etc.)<\/li>\r\n<li>Free for one year with the purchase of an MKR Fox 1200<\/li>\r\n<\/ul>\r\n<p><strong>Neutrals<\/strong>:<\/p>\r\n<ul>\r\n<li>Limited to 140 messages, which is about 1 message per 10 minutes\r\n<ul>\r\n<li>Whether this is sufficient or not depends on the project<\/li>\r\n<li>In the end similar to the Arduino SIM, but at least you can plan exactly with it &#8211; with the Arduino SIM this is more difficult<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<p><strong>Negatives<\/strong>:<\/p>\r\n<ul>\r\n<li>Works only with the MKR Fox 1200 (again: only relating to access via Arduino!)<\/li>\r\n<li>Network coverage not as reliable as the interactive map suggests<\/li>\r\n<li>No visualization of transferred data (analogous to the Arduino IoT Dashboard) &#8211; you would have to design this completely yourself<\/li>\r\n<\/ul>\r\n\n<h2 class=\"wp-block-heading\">Outlook<\/h2>\n<p>What has bothered me &#8211; and perhaps some of you too &#8211; in this and the last post is the dependence on special boards, the investment costs and running costs. It&#8217;s all pretty simple, but it&#8217;s also a pretty tight corset that you put on.<\/p>\r\n<p>In the next article I would like to stay on the subject of Internet of Things. In particular, it will be about the topic of webhooks and how you can use them with the free IFTTT (if this then that) service. I will use the ESP8266 ESP-01 board for this, which is a cost-effective and widely used board.<\/p>\r\n<p>In an even later article (perhaps the next one) I will discuss GSM modules, which can be an alternative to the Arduino SIM and Sigfox.<\/p>\r\n\n<h2 class=\"wp-block-heading\">Acknowledgement<\/h2>\n<p>I owe the basis of my post picture to <a href=\"https:\/\/pixabay.com\/de\/users\/jeferrb-590530\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=782707\" target=\"_blank\" rel=\"noopener noreferrer\">jeferrb<\/a> on <a href=\"https:\/\/pixabay.com\/de\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=782707\" target=\"_blank\" rel=\"noopener noreferrer\">Pixabay.<\/a><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Many projects are implemented in places where there is no Wi-Fi. Connectivity via the Arduino SIM card or Sigfox are possible alternatives. This article is a guide and a testimonial. <\/p>\n","protected":false},"author":1,"featured_media":8563,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[543,575,548],"tags":[1188,1167,1196,1205,1203,1199,1197,1206,1202],"class_list":["post-10452","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-boards-and-microcontrollers","category-software-and-tools","category-wireless","tag-arduino-iot-en","tag-arduino-iot-cloud-en","tag-arduino-sim-en-2","tag-board-id-en-2","tag-data-usage","tag-mkr-fox-1200-en","tag-mkr-gsm-1400-en","tag-pac-en","tag-sigfox-en-3"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Arduino IoT Cloud - Part 2: Arduino SIM and Sigfox &#8226; Wolles Elektronikkiste<\/title>\n<meta name=\"description\" content=\"Many projects are implemented in places where there is no Wi-Fi. Connectivity via the Arduino SIM card or Sigfox are possible alternatives.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Arduino IoT Cloud - Part 2: Arduino SIM and Sigfox &#8226; Wolles Elektronikkiste\" \/>\n<meta property=\"og:description\" content=\"Many projects are implemented in places where there is no Wi-Fi. Connectivity via the Arduino SIM card or Sigfox are possible alternatives.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox\" \/>\n<meta property=\"og:site_name\" content=\"Wolles Elektronikkiste\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-01T19:02:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-02T14:58:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/IoT_Beitragsbild_t2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1249\" \/>\n\t<meta property=\"og:image:height\" content=\"1249\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Wolfgang Ewald\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wolfgang Ewald\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"22 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox\"},\"author\":{\"name\":\"Wolfgang Ewald\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\"},\"headline\":\"Arduino IoT Cloud &#8211; Part 2: Arduino SIM and Sigfox\",\"datePublished\":\"2021-01-01T19:02:52+00:00\",\"dateModified\":\"2021-01-02T14:58:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox\"},\"wordCount\":3397,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\"},\"image\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/IoT_Beitragsbild_t2.png\",\"keywords\":[\"Arduino IoT\",\"Arduino IoT Cloud\",\"Arduino SIM\",\"Board ID\",\"data usage\",\"MKR Fox 1200\",\"MKR GSM 1400\",\"PAC\",\"Sigfox\"],\"articleSection\":[\"Boards and Microcontrollers\",\"Software and tools\",\"Wireless\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox\",\"name\":\"Arduino IoT Cloud - Part 2: Arduino SIM and Sigfox &#8226; Wolles Elektronikkiste\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/IoT_Beitragsbild_t2.png\",\"datePublished\":\"2021-01-01T19:02:52+00:00\",\"dateModified\":\"2021-01-02T14:58:39+00:00\",\"description\":\"Many projects are implemented in places where there is no Wi-Fi. Connectivity via the Arduino SIM card or Sigfox are possible alternatives.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#primaryimage\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/IoT_Beitragsbild_t2.png\",\"contentUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/IoT_Beitragsbild_t2.png\",\"width\":1249,\"height\":1249},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Arduino IoT Cloud &#8211; Part 2: Arduino SIM and Sigfox\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#website\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\",\"name\":\"Wolles Elektronikkiste\",\"description\":\"Die wunderbare Welt der Elektronik\",\"publisher\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\",\"name\":\"Wolfgang Ewald\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\",\"contentUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\",\"width\":512,\"height\":512,\"caption\":\"Wolfgang Ewald\"},\"logo\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Arduino IoT Cloud - Part 2: Arduino SIM and Sigfox &#8226; Wolles Elektronikkiste","description":"Many projects are implemented in places where there is no Wi-Fi. Connectivity via the Arduino SIM card or Sigfox are possible alternatives.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox","og_locale":"en_US","og_type":"article","og_title":"Arduino IoT Cloud - Part 2: Arduino SIM and Sigfox &#8226; Wolles Elektronikkiste","og_description":"Many projects are implemented in places where there is no Wi-Fi. Connectivity via the Arduino SIM card or Sigfox are possible alternatives.","og_url":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox","og_site_name":"Wolles Elektronikkiste","article_published_time":"2021-01-01T19:02:52+00:00","article_modified_time":"2021-01-02T14:58:39+00:00","og_image":[{"width":1249,"height":1249,"url":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/IoT_Beitragsbild_t2.png","type":"image\/png"}],"author":"Wolfgang Ewald","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Wolfgang Ewald","Est. reading time":"22 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#article","isPartOf":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox"},"author":{"name":"Wolfgang Ewald","@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46"},"headline":"Arduino IoT Cloud &#8211; Part 2: Arduino SIM and Sigfox","datePublished":"2021-01-01T19:02:52+00:00","dateModified":"2021-01-02T14:58:39+00:00","mainEntityOfPage":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox"},"wordCount":3397,"commentCount":0,"publisher":{"@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46"},"image":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#primaryimage"},"thumbnailUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/IoT_Beitragsbild_t2.png","keywords":["Arduino IoT","Arduino IoT Cloud","Arduino SIM","Board ID","data usage","MKR Fox 1200","MKR GSM 1400","PAC","Sigfox"],"articleSection":["Boards and Microcontrollers","Software and tools","Wireless"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox","url":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox","name":"Arduino IoT Cloud - Part 2: Arduino SIM and Sigfox &#8226; Wolles Elektronikkiste","isPartOf":{"@id":"https:\/\/wolles-elektronikkiste.de\/en#website"},"primaryImageOfPage":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#primaryimage"},"image":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#primaryimage"},"thumbnailUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/IoT_Beitragsbild_t2.png","datePublished":"2021-01-01T19:02:52+00:00","dateModified":"2021-01-02T14:58:39+00:00","description":"Many projects are implemented in places where there is no Wi-Fi. Connectivity via the Arduino SIM card or Sigfox are possible alternatives.","breadcrumb":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#primaryimage","url":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/IoT_Beitragsbild_t2.png","contentUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/05\/IoT_Beitragsbild_t2.png","width":1249,"height":1249},{"@type":"BreadcrumbList","@id":"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/wolles-elektronikkiste.de\/en"},{"@type":"ListItem","position":2,"name":"Arduino IoT Cloud &#8211; Part 2: Arduino SIM and Sigfox"}]},{"@type":"WebSite","@id":"https:\/\/wolles-elektronikkiste.de\/en#website","url":"https:\/\/wolles-elektronikkiste.de\/en","name":"Wolles Elektronikkiste","description":"Die wunderbare Welt der Elektronik","publisher":{"@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wolles-elektronikkiste.de\/en?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46","name":"Wolfgang Ewald","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png","url":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png","contentUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png","width":512,"height":512,"caption":"Wolfgang Ewald"},"logo":{"@id":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png"}}]}},"_links":{"self":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/posts\/10452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/comments?post=10452"}],"version-history":[{"count":0,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/posts\/10452\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/media\/8563"}],"wp:attachment":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/media?parent=10452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/categories?post=10452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/tags?post=10452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}