Ringo, der ab April aus irgendeinem Grund einer Webfirma beigetreten ist Am Ende berührte ich Laravel, MySQL und Ansible, die ich im Training noch nie berührt hatte. Nach dem Studium werde ich den Raum mit der Raspeltorte und dem Sensor visualisieren, die sich im Raum befanden. Es scheint, dass Sie mit dem Titel Erstellen eines Temperaturüberwachungs-Bots mit ESP8266 und Raspberry Pi etwas Ähnliches gemacht haben.
Ich werde versuchen, die folgenden Bedingungen grob zu erfüllen.
--Razpai, 3b + wurde in diesem Artikel verwendet
Betrachten Sie die Konfiguration basierend auf den Spezifikationen. Der Sensor und die OLED sind durch I2C-Kommunikation durch Durchstechen des Steckbretts verbunden. Die erfassten Daten werden in Raspeye gespeichert und an die auf CONOHA eingerichtete Instanz gesendet. Das Verarbeitungsverfahren ist wie folgt.
Ich werde einen Prozess nach dem Verfahren von machen. In diesem Artikel werde ich 1-3 erklären.
Da es sich um I2C-Kommunikation handelt, schließen Sie einfach SDI und SCK an, und das Modul ist 3,3 V, seien Sie also vorsichtig. Es ist in Ordnung, wenn es von "i2cdetect -y 1" bestätigt und erkannt wird
Im Bild gibt es andere Verbindungen, aber 0x3C ist die OLED-Adresse und 0x76 ist die BME280-Adresse.
In I2C gibt es verschiedene Dinge, wie z. B. das Hochziehen, aber ich gehe davon aus, dass es sich auf der Platine auf der Sensorseite befindet. Die I2C-Kommunikation selbst ist jedoch nicht rauschresistent. Daher ist es möglicherweise besser, sie nicht zu stark zu dehnen.
Die Bibliothek verwendete das SWITCH CIENCE-Beispiel. SWITCHSCIENCE/BME280 Es ist für Python2 geschrieben, also werde ich es ein bisschen bearbeiten. Zur Abwechslung
Der bearbeitete Code lautet hier. Sie benötigen auch smbus, um es auszuführen.
Ich konnte die Erfassung des Wertes am Terminal bestätigen.
Der verwendete Flüssigkristall ist ein OLED-Modul, das mit SSD1306 ausgestattet ist. Ich kann nicht schreiben, weil ich mich nicht erinnere, wo ich es gekauft habe, aber ich denke, es ist fast das gleiche, egal wo ich es gekauft habe. Ich habe die von Adafruit veröffentlichte Bibliothek benutzt. adafruit/Adafruit_Python_SSD1306
Ich brauche ein paar Tipps, um es zu bewegen. Verschieben Sie den Beispielcode der organischen EL-Anzeige mit Raspeye Lesen Sie den obigen Artikel und installieren Sie die erforderlichen Bibliotheken auf pyenv, damit Sie OLED verwenden können. Fügen Sie die Verarbeitung von bme280 hinzu, indem Sie auf Adafruit_Python_SSD1306 / examples / stats.py verweisen.
#Bildschirm löschen
draw.rectangle((0,0,width,height), outline=0, fill=0)
sensor_data = bme280.readData() #Erfassung von Sensordaten
temp = "%6.2f" % (sensor_data[0])
draw.text((x, top), "Temp =" + temp + " °C", font = font, fill = 255)
press = "%7.2f" % (sensor_data[1])
draw.text((x, top + 8), "Press = " + press + " hPa", font = font, fill = 255)
hum = "%6.2f" % (sensor_data[2])
draw.text((x, top + 16), "Hum =" + hum + " %", font = font, fill = 255)
#Bildschirmanzeige
disp.image(image)
disp.display()
Extrahierte die Verarbeitung in der while-Schleife. Was den Inhalt des Prozesses betrifft, werden Daten vom Sensor erfasst und zeilenweise angezeigt.
Ich konnte die erfassten Daten auf der OLED anzeigen.
Ich sagte Speichern in der Cloud, aber ich werde es vorerst in CSV speichern.
#Dateischreibvorgang
date = str(datetime.date.today())
nowtime = datetime.datetime.now()
#Überschreiben, wenn eine Datei vorhanden ist
if(os.path.exists(path + date +".csv")):
f = open(path + date +".csv", 'a')
f.write(str(nowtime.hour) + ':' + str(nowtime.minute) + ':' + str(nowtime.second) + ',')
f.write(temp + ',' + press + ',' + hum + ' \n')
f.close()
#Generieren Sie, wenn nicht
else:
f = open(path + date +".csv", 'w')
f.write("date,Temp,Press,Hum\n")
f.write(str(nowtime.hour) + ':' + str(nowtime.minute) + ':' + str(nowtime.second) + ',')
f.write(temp + ',' + press + ',' + hum + ' \n')
f.close()
Ich habe den Prozess geschrieben, um nach Datum zu trennen und in CSV zu speichern. Wenn das Ausgabediagramm in Excel angezeigt wird, sieht es so aus.
Das endgültige Programm ist im Kern veröffentlicht. raspi_logger.py Nächstes Mal werde ich versuchen, eine API mit Laravel und der Cloud zu erstellen und das Diagramm im Browser anzuzeigen.
Recommended Posts