Inhoudsopgave:
- Stap 1: Arduino instellen
- Stap 2: De MySQL instellen
- Stap 3: Verwerkings-IDE instellen
- Stap 4: Het programma uitvoeren
- Stap 5: Conclusie
Video: Arduino-sensorgegevens opslaan in MYsql met behulp van verwerking - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Eerlijk gezegd is het moeilijk om Arduino-gegevens rechtstreeks op MySQL op te slaan, zodat ik bij verslaving aan Arduino IDE Processing IDE gebruikte die vergelijkbaar is met Arduino IDE, maar met veel ander gebruik en je kunt het in Java coderen.
Opmerking: voer geen Arduino seriële monitor uit terwijl de verwerkingscode wordt uitgevoerd, omdat er poortconflicten zullen optreden omdat beide dezelfde poort moeten gebruiken
Jij hebt nodig:
- Arduino Uno/Mega of kloon
- Wamp-server
- IDE 2.2.1 verwerken (gebruik niet meer dan dat)
- BezierSQLib-0.2.0-bibliotheek voor verwerking (downloadlink hieronder)
- sensor (ik gebruikte LDR en LM35 om licht en temperatuur te meten)
Stap 1: Arduino instellen
Brand de onderstaande eenvoudige democode op arduino die als afzender zal fungeren., void setup() { Serial.begin(9600); }
lege lus()
{ int i=0, j=0; i=analogRead(A0); j=analoogLees(A1); Serial.print(i); Serieel.print(", "); Serieel.println(i); }
Stap 2: De MySQL instellen
- Installeer de Wamp-server voor MySQL en configureer deze om gegevens op te slaan
- Wamp-server uitvoeren
- open MySQL-console
- selecteer database
- Maak vervolgens de tabel voor uw gegevens
maak tabelgegevens aan (sno int(4) primaire sleutel auto_increment, LDR int(4), TEMP int(4));
gebruik desc your_table_name om tabeldetails weer te geven
desc gegevens;
Dat is alles voor DB, nu kunnen we overgaan tot verwerking …
Stap 3: Verwerkings-IDE instellen
- Download en installeer de verwerkings-IDE 2.2.1
- Pak de hierboven gegeven ZIP uit naar MyDocuments/Processing/Bibliotheken
- Open nu de verwerkings-IDE en controleer of de bibliotheek correct is geïnstalleerd of niet zoals in de bovenstaande afbeelding
- Kopieer vervolgens de onderstaande code naar verwerking en noem deze zelf
/* ARDUINO NAAR MYSQL VIA VERWERKING Lees seriële berichten van Arduino en schrijf deze vervolgens in MySQL. Auteur: J. V. JohnsonSelva september 2016 */
importeer de.bezier.data.sql.*; // importeer de MySQL-bibliotheek
importverwerking.serienummer.*; // importeer de seriële bibliotheek
MySQL-msql; //Maak MySQL-object
Tekenreeks een; int einde = 10; // het nummer 10 is ASCII voor linefeed (einde van serial.println), later zullen we dit zoeken om individuele berichten op te splitsen. String serial; // declareer een nieuwe string met de naam 'serial'. Een string is een reeks karakters (datatype bekend als "char") Seriële poort; // De seriële poort, dit is een nieuwe instantie van de seriële klasse (een object)
ongeldige setup() {
String gebruiker = "root"; String pass = ""; String database = "iot_database"; msql = nieuwe MySQL (dit, "localhost", database, gebruiker, pas); poort = nieuw Serieel(this, Serial.list()[0], 9600); // initialiseren van het object door een poort en baudrate toe te wijzen (moet overeenkomen met die van Arduino) port.clear(); // functie van seriële bibliotheek die de eerste meting weggooit, voor het geval we in het midden van een string van Arduino begonnen te lezen serial = port.readStringUntil(end); // functie die de string van de seriële poort tot een println leest en vervolgens een string toewijst aan onze stringvariabele ('serial' genaamd) serial = null; // aanvankelijk is de string null (leeg) }
nietig tekenen()
{ while (port.available() > 0) { // zolang er gegevens uit de seriële poort komen, lees deze en sla ze op serial = port.readStringUntil(end); } if (serial != null) { // als de string niet leeg is, print dan het volgende //Opmerking: de splitsfunctie die hieronder wordt gebruikt is niet nodig als er maar één variabele wordt verzonden. Het is echter handig voor het ontleden (scheiden) van berichten bij het // lezen van meerdere ingangen in Arduino. Hieronder staat een voorbeeldcode voor een Arduino-schets a = split (serieel, ', '); // een nieuwe array (genaamd 'a') die waarden opslaat in aparte cellen (gescheiden door komma's gespecificeerd in je Arduino-programma) println(a[0]); // print LDR-waarde println (a [1]); // print LM35-waardefunctie (); } }
ongeldige functie()
{ if (msql.connect()) { msql.query("invoegen in data(LDR, Temp)values("+a[0]+", "+a[1]+")"); } else { // verbinding mislukt! } msql.close(); // Moet MySQL-verbinding sluiten na uitvoering}
Stap 4: Het programma uitvoeren
Voer het programma uit door op de knop Uitvoeren te klikken. Sluit het pop-upvenster niet. Sluiten stopt de uitvoering en ondervraag om opgeslagen gegevens in MySQL te bekijken…
selecteer * uit gegevens;
Gebruik de onderstaande query om het aantal ingevoegde gegevens te bekijken.
selecteer count(*) uit gegevens;
Stap 5: Conclusie
Ik wil je bedanken voor het lezen van mijn tutorial. Ik zou het op prijs stellen als je het nuttig vindt en een like (favoriet) laat vallen of me iets vraagt, omdat het me gemotiveerd houdt om deze instructables te doen. voel je vrij om al je vragen te stellen die je wilt weten…
Gelukkig coderen Arduino…
Aanbevolen:
Automatisch screenshots opslaan in Windows met een Python-script: 4 stappen
Schermafbeeldingen automatisch opslaan in Windows met een Python-script: Meestal moeten we in Windows eerst een screenshot (afdrukscherm) maken en vervolgens Paint openen, plakken en vervolgens opslaan. Nu zal ik je leren hoe je een python-programma maakt om het te automatiseren. Dit programma zal een vouw
EC/pH/ORP-gegevens opslaan en weergeven met de TICK-stack en het NoCAN-platform: 8 stappen
EC/pH/ORP-gegevens opslaan en weergeven met de TICK-stack en het NoCAN-platform: hier wordt uitgelegd hoe u het NoCAN-platform van Omzlo en uFire-sensoren kunt gebruiken om EC, pH en ORP te meten. Zoals hun website zegt, is het soms gemakkelijker om gewoon een kabel naar je sensorknooppunten te leiden. CAN heeft het voordeel van communicatie en stroom in één c
Vooraf ingestelde waarden opslaan en herstellen met NFC (TfCD): 4 stappen
Vooraf ingestelde waarden opslaan en herstellen met NFC (TfCD): We willen testen hoe het werkt om een bepaalde waarde of instelling aan te passen en deze instelling later terug te roepen. Voor dit experiment hebben we een NFC-tag gebruikt om de waarde erop te lezen en vervolgens op te slaan. Later kan de tag opnieuw worden gescand en de waarde terugsturen om een cer
Hoe u gebruikersniveaus van NUMA toevoegt aan uw exemplaar van N met behulp van NumADD Firefox AddOn: 4 stappen
Gebruikersniveaus van NUMA toevoegen aan uw exemplaar van N NumADD Firefox-add-on gebruiken: Elke gebruiker van Metanet's N-database op gebruikersniveau NUMA weet hoe onhandig de interface is voor het kopiëren van door gebruikers gemaakte niveaus naar uw exemplaar van het spel. NumADD, elimineert de noodzaak van kopiëren en plakken en maakt het overzetten van niveaus het werk van één muisklik
Afbeeldingen opslaan van Flickr zonder de Spaceball-gif in Firefox te krijgen: 8 stappen
Afbeeldingen opslaan van Flickr zonder de Spaceball-gif in Firefox te krijgen: als u op http://www.flickr.com hebt gebladerd en ooit hebt geprobeerd een afbeelding op te slaan waarbij u niet alle formaten kunt kiezen, heeft u waarschijnlijk dat je niet de afbeelding opslaat, maar een klein gif-bestand genaamd "spaceball." De instructable toont