IoT koffie Pot Monitor (6 / 9 stap)

Stap 6: Firmware - ESP8266


De firmware voor deze module kan worden gevonden in de esp8266 directory van de broncode repository. Deze code is geschreven in C, dient te worden verzameld met behulp van de Espressif SDK en XTensa Tools GCC, en kan worden geflitst naar de chip met behulp van esptool en een 3.3V USB naar seriële Converter. Dit is niet Arduino code.

De code gepresenteerd is gebouwd op een ander Instructable ik eerder schreef. Nogmaals, ik moedig u aan even duren om door die gids, te lezen als het laat zien hoe de ontwikkelomgeving instellen, flash de chip, en details de code gebruikt evenals hoe te schrijven van uw eigen PubNub-bibliotheek.

Bij het opstarten, zijn de volgende acties plaatsvinden:

  • Initialiseren van de UART en I/O pinnen
  • Verbinden met wifinetwerk
  • Verbinden met PubNub
  • Inschakelen van een terugkerende 1 ms timer

De 1ms timer kan dienen als een hoofdlus, als het wordt herhaald elke 1ms. Het is hier dat we zullen informatie over de schaal opvragen of een reset aanvraagt bij de Atmel ATmega328p. De gehele I2C bits-bang uitvoering is ook hier behandeld door gebruik van verschillende vlaggen van de staat en het instellen van de klok- en datalijnen HI of LO dienovereenkomstig. Nadat beide gegevensbytes die vertegenwoordigen de schaal cijfers hebben gelezen is, zijn de waarden samengevoegd en gebruikt voor het bouwen van een JSON-string worden gepubliceerd in de publishMsg() functie.

 // Publish the value using PubNubstatic void publishMsg (void) { // Check values for I2C line error...if (TWI_msg[0] > 99 || TWI_msg[1] > 99) { TWI_fullMsg = 10000; } // Ignore very small valueselse if (TWI_msg[0] == 0 && TWI_msg[1] < 50) { TWI_fullMsg = 0; } // Record full value and round to nearest 10else { int mod = TWI_msg[1] % 10; TWI_msg[1] /= 10; if (mod > 4) ++TWI_msg[1]; TWI_msg[1] *= 10; TWI_fullMsg = (uint16_t)TWI_msg[1] + 100 * (uint16_t)TWI_msg[0]; } // Only publish if this is a new value or it's been a while...if((TWI_fullMsg != TWI_lastMsg) || TIME_TO_PUBLISH) { char buf[40] = { 0, }; sprintf(buf, "{\"columns\":[[\"Coffee\",\"%d\"]]}", TWI_fullMsg); pubnub_publish(channel, buf); TWI_lastMsg = TWI_fullMsg; stat_flag &= ~REQUEST_PUBLISH; } } 

Merken, gegevens verschijnt alleen als het nieuw is! Het houdt geen steek voortdurend uit te zenden irrelevant of herhaalde bytes. Een teller er echter voor zorgen dat ten minste één bericht verschijnt om de paar minuten, fungeren als een signaal van de hartslag . U moet uw eigen PubNub toetsen en persoonlijke WiFi referenties invoeren in de broncode. Dit wordt besproken in de krijgen gestarte gids die ik schreef.

Gerelateerde Artikelen

Het dribbelen koffie Pot probleem op te lossen

Het dribbelen koffie Pot probleem op te lossen

als u een automatische koffieapparaat hebt gekocht in het verleden meer dan waarschijnlijk hebt u gevonden dat de koffiepot of karaf koffie dribbelt wanneer u probeert om te gieten daaruit. Een toevallig onderzoek op het internet zal blijken dat dit
Intel Edison IoT externe milieuparameters monitor

Intel Edison IoT externe milieuparameters monitor

Dit is een zeer fundamentele project volledig gemaakt in javascript via de IDE "Intel XDK IoT edition". Wanneer u klaar bent, hebt u een systeem te controleren Omgevings parameters (temperatuur, licht en lucht kwaliteit), lokaal in het LCD-scher
Koffie pot ramen

Koffie pot ramen

als je net als mij, een zeer slechte college jongen met zeer onregelmatig eetpatroon, weet je wel hoe het kan zijn om niet zozeer als een magnetron op uw kamer worden toegestaan. Maar ik vond jaren geleden tijdens het kamperen dat ik een goed aantal
Zelfgemaakte moderne DIY koffie Pot Upgrade

Zelfgemaakte moderne DIY koffie Pot Upgrade

Ik gebruik mijn kettle van Hario zwanenhals voor maken pour over koffie. Ik houd van alles over het met uitzondering van de kunststof grepen, dus heb ik besloten om nieuwe grepen uit een stuk schroot van walnoot met behulp van mijn draadloze boor sni
: IoT ESP8266 2-Monitor reeksgegevens via ThingSpeak.com

: IoT ESP8266 2-Monitor reeksgegevens via ThingSpeak.com

Dit is deel twee van IoT ESP8266 serie. Om te zien van deel 1 verwijzen naar dit instructable IoT ESP8266 Series: 1 verbinding maken met WIFI-Router.Dit deel heeft als doel om u te tonen hoe uw om sensorgegevens te verzenden naar een van de populaire
Directe lezing van LCD-scherm met behulp van algemene doel IO

Directe lezing van LCD-scherm met behulp van algemene doel IO

Moeilijkheid: e a s y .. Schema, solderen, C programmerenVeel apparaten hebben schermen van LCD (Liquid Crystal Display) - uw magnetron, digitale klok en Weegschaal zijn een paar bekende voorbeelden. Meer dan eens, heb ik wil kunnen gebruiken op een
Industriële IoT - How To Build uw eigen buiten pagode voor weer, kwaliteit van de lucht en andere sensoren

Industriële IoT - How To Build uw eigen buiten pagode voor weer, kwaliteit van de lucht en andere sensoren

** Update: Het artikel hieronder is van onze oudere Android app! Valarm is industriële IoT. We helpen u, uw teams en uw bedrijf met de industriële IoT toepassingen met behulp van Valarm Tools Cloud.Als u wilt besparen tijd en geld kunt u gewoon krijg
Koffie tijd! Brouwen klok - 3D afgedrukt

Koffie tijd! Brouwen klok - 3D afgedrukt

Bedankt voor het tonen van belangstelling voor mijn project door te klikken en bekijken. In de afgelopen paar maanden wilde ik om te komen met een project dat ik volledig kan vrijgeven aan de menigte die Gemeenschap gewoon om een idee te delen met de
Reparatie van uw verstopte koffie-/ theevoorzieningen

Reparatie van uw verstopte koffie-/ theevoorzieningen

niet weggooien uw koffiezetapparaat gewoon omdat het alleen stoom maakt en water omhoog gorgelende in de mand brouwsel is gestopt.  Ik heb een paar koffiezetapparaten hersteld door krachtig het sproeien van water in het gebied"vulling". (Haal ee
TrekMate (Intel IoT)

TrekMate (Intel IoT)

Ons project "Trekmate" focust op automatische veiligheid van voertuigen en houdt ook toezicht op de geschiktheid van een individu. Ons project bestaat uit verschillende sensoren zoals hartslag sensor, versnellingsmeter die voortdurend gecontrole
Habanero peper Spice koffie

Habanero peper Spice koffie

enkele jaren geleden ik was huis vergadering voor een vriend van mij.  Ze stond erop dat ik haar raspberry peper jam proberen terwijl ik daar was.  Ik had nog nooit gehoord van een jam gemaakt met hete pepers. De volgende ochtend die herinnerde ik ha
Hoe te brouwen koffie

Hoe te brouwen koffie

Dus voor velen koffie is must een absolute voordat ze worden beschouwd als functioneel in de ochtenden. Maar als u gewoon in de wereld van koffie duiken, het maken van uw eerste kopje inspanning kunt nemen vooral als het is vroeg in de ochtend. Dus o
AC-monitorsysteem met behulp van Intel Edison (Intel IoT RoadShow Brazilië)

AC-monitorsysteem met behulp van Intel Edison (Intel IoT RoadShow Brazilië)

Een systeem dat controleren van spanning, stroomsterkte, de frequentie en de temperatuur van een AC power systeem, totale energieverbruik berekenen en post alle info op een wolk-gegevensserver.Stap 1: AC Sensormodule We ontwikkelden deze Sensormodule
Kleine ongewervelden in kleine Tanks

Kleine ongewervelden in kleine Tanks

Ik heb nooit veel geluk houden van vissen, maar toen mijn zus vond enkele kleine zwemmen wezens in haar vissentank samen met haar vis, ik vond die fascinerend en wilde meer. Ze was blij om deze kleine jongens een huis met mij in plaats van storten ze