Een abonnement op een heliumatoom met C (2 / 3 stap)

Stap 2: Code

Voor deze oefening gebruiken we een test-apparaat met MAC adres 000000fffff00001 en base-64 token kdTl6U1w + sR61NBiQjm8sw ==.

Omvatten de vereiste bibliotheken, waaronder standaard stdio.h en string.h, samen met msgpack en beide bibliotheken helium.

 <p>#include <stdio.h><br>#include <string.h></p><p>#include <msgpack.h></p><p>#include "helium.h"<br>#include "helium_logging.h"</p> 

Dit volgende blok van code helpt voorkomen dat er fouten die kunnen optreden met behulp van bepaalde PCs.

 <p>#ifdef _MSC_VER<br>#include "msvc_inttypes.h" #else #include <inttypes.h> #endif</p> 

Callback-functie die wordt geactiveerd wanneer uw atoom een signaal maken

 <p>void test_callback(const helium_connection_t *conn, uint64_t sender_mac, char * const message, size_t count)<br>{</p> 

Binnen deze functie, maken sommige geheugen om te decoderen van de gegevens.

 <p>msgpack_zone mempool;<br>msgpack_zone_init(&mempool, 128);</p> 

Het bericht deserialize en pak het.

 <p>msgpack_object deserialized; msgpack_unpack(message, count, NULL, &mempool, &deserialized);</p> 

Afdrukken van de gegevens naar de terminal.

 <p>printf("payload was ");<br>msgpack_object_print(stdout, deserialized); printf("\n");</p> 

Verwijder de opslageenheid wereldruim en beëindigen van de functie.

 <p>msgpack_zone_destroy(&mempool);<br>}</p> 

Vervolgens moeten we een hoofdfunctie. De functie maken en verklaren van sommige variabelen die zullen we, met inbegrip van een token helium, een teken token en ruimte voor het bericht.

 <p>int main(int argc, char *argv[])<br>{ helium_token_t token; unsigned char *token1; char message[1024];</p> 

Verklaar een helium-verbinding en een struct helium verbinding toewijzen.

 <p>helium_connection_t *conn;</p><p>conn = helium_alloc();</p> 

Open de verbinding en onze voorgaande functie oproepen met het. Aangezien Helium op IPv6 werkt en de meeste netwerken op dit moment IPv4 zijn zullen we moeten de r01.sjc.helium.io-proxy gebruiken voor het verzenden van gegevens.

 <p>helium_open(conn, "r01.sjc.helium.io", test_callback);</p> 

De base 64 gecodeerde toegangstoken unieke MAC-adres van uw apparaat in een karakter array opslaan en converteren naar binair. Van uw apparaat token vindt mijn invoeren is het MAC-adres in het Helium Dashboard.

 <p>token1 = (unsigned char*)"kdTl6U1w+sR61NBiQjm8sw==";</p><p>helium_base64_token_decode(token1, strlen((char*)token1), token);</p> 

Abonneer je op het apparaat met behulp van het MAC-adres.

 <p>helium_subscribe(conn, 0x000000ffff00001, token);</p> 

Maak een eindeloze terwijl lus zodat het programma altijd blijft geabonneerd op het Atoom tot het einde. Dan eindigt de functie.

 <p> while(1) {<br> } return 0; }</p> 

De volledige code hierboven kan worden gevonden hier.

Gerelateerde Artikelen

Een abonnement op een heliumatoom met Node

Een abonnement op een heliumatoom met Node

Helium is een volledig draadloze platform voor het internet van dingen, leveren van geïntegreerde hardware, software interfacing en infrastructuur eenvoudig, efficiënt en veilig objecten verbinden met het internet. Helium heeft verschillende SDK's vo
Een abonnement op een heliumatoom in Ruby

Een abonnement op een heliumatoom in Ruby

Helium is een volledig draadloze platform voor het internet van dingen, leveren van geïntegreerde hardware, software interfacing en infrastructuur eenvoudig, efficiënt en veilig objecten verbinden met het internet. Helium heeft verschillende API's vo
Hoe Dual-boot Linux en Windows (op een PC met Windows 7 al geïnstalleerd)

Hoe Dual-boot Linux en Windows (op een PC met Windows 7 al geïnstalleerd)

het doel van dit Instructable is het instellen van uw computer te tweevoudig-schoen Windows 7 en Ubuntu Linux. Dual-boot is een techniek waarmee één fysieke computer twee of meer besturingssystemen (besturingssystemen) uitvoeren. Dit is handig voor h
Hoe een blikje met Water - imploderende kunt Crusher Crush

Hoe een blikje met Water - imploderende kunt Crusher Crush

dit is een zeer ontzagwekkende manier om het verpletteren van een blikje met water. Ik had zo veel plezier dit te doen, waarschijnlijk mijn fav video nog :DAls u als deze video genoot, vergeet niet te verlaten een achtige en zelfs een abonnement :)Be
Snelle vaardigheden #10: How to start een brand met berkenschors

Snelle vaardigheden #10: How to start een brand met berkenschors

Hallo Instructables Gemeenschap,deze week eindelijk we overgaan tot een nieuwe deel van de serie snelle vaardigheden. In deze en de volgende afleveringen zullen we kijken naar methoden om te beginnen een brand met natuurlijke en kunstmatige vormen va
Hoe maak je een Ring met een houten Inlay

Hoe maak je een Ring met een houten Inlay

In deze tutorial zal ik laten zien van mijn proces voor het maken van een metalen ring met een houten inlay. Voor dit project gebruikte ik een stalen ring voering van http://www.bangleguy.com/ en een rode buck oog burl mes schaal van http://www.bangl
Hoe sla garen zoals een baas met behulp van uw 3D-Printer

Hoe sla garen zoals een baas met behulp van uw 3D-Printer

Garen verpakking kan een van de gemakkelijkste ambachten die er is, maar sommige shapes zijn moeilijker te wikkelen dan anderen - veel harder.Het alfabet heeft enkele eenvoudige degenen (zoals "I") en het heeft enkele echt moeilijk degenen (zoal
Hoe molen een printplaat met een Stepcraft Mill en EagleCAD

Hoe molen een printplaat met een Stepcraft Mill en EagleCAD

In deze tutorial gaan we worden met behulp van EagleCAD, een PCB design tool, voor het genereren van toolpaths voor het fabriceren van printplaten met behulp van een Stepcraft CNC Mill (of elke andere CNC mill dat standaard G-code accepteert). Door m
How to Start een brand met een 2 X 4 en katoen bal (wrijving brand)

How to Start een brand met een 2 X 4 en katoen bal (wrijving brand)

Persoonlijk heb ik geleerd met verschillende methoden voor het starten van een brand met behulp van wrijving zoals boor en boog. Ik kwam onlangs over een methode met behulp van een 2 X 4- en een katoenen bal die ik moest proberen.Dit was een van de g
Besturen van een Motor met behulp van ultrasone sensoren van de afstand (HC-SR04)

Besturen van een Motor met behulp van ultrasone sensoren van de afstand (HC-SR04)

Hallo iedereen! In dit project zullen wij de richting van een motor met behulp van twee ultrasone opgezette sensoren controleren.Als de juiste sensor wordt geactiveerd, zal de motor draaien linksom.Als de linker sensor wordt geactiveerd, zal de motor
Maken van een animatie met gebruik van powerpoint

Maken van een animatie met gebruik van powerpoint

ons aller hebben wilde maken van animaties op enig moment van ons leven,maar door gebrek aan kennis of de hulpmiddelen (juiste programma's) kunnen we niet...- .i was hetzelfde eerder.- .i gebruikte om te denken van manieren om te animeren & gevonden
Creëren van een chatserver met behulp van java

Creëren van een chatserver met behulp van java

IntroductieNetwerken is een belangrijke tak van de programmering die is essentieel voor het verbinden van gebruikers via apparaten. Zo hebben vele programmeertalen meerdere manieren aan formuliergebruikers verbindingen en servers of tussen peers. Voo
De ongelooflijk overdreven gemanipuleerde naamtag-How I Made een naamplaatje met een Laser & Vinyl Cutter

De ongelooflijk overdreven gemanipuleerde naamtag-How I Made een naamplaatje met een Laser & Vinyl Cutter

Hier zijn foto's en stap voor stap toelichting met behulp van een laser & vinyl cutter te maken een naamplaatjeMet behulp van CAD-software, een $18.000 laser-cutter en een vinyl cutter, maakte ik een handvol naamplaatjes voor organisatoren van de New
Hoe maak je een vangst met behulp van de 123D vangst web app

Hoe maak je een vangst met behulp van de 123D vangst web app

In dit instructable ga ik u door het creëren van een vangst met behulp van de 123D vangst web app. 123D vangst een geheel gratis stuk van de software is dat draait in 3D-modellen foto's lopen.Beschikbaar (vanaf nu) voor PC, iPad en ook als een web ap