Étape 7: IDE Arduino le Code Source du projet
Code source pour le projet SolarPowerESP8266
Voici le code source pour le pack ESP8266 IDE Arduino. Pour installer le pack de l’Arduino IDE ESP8266 Découvrez ce post.
Bibliothèques requises :
aREST.h - https://github.com/marcoschwartz/aREST
Bibliothèques SunAirPlus INA3221 - https://github.com/switchdoclabs/SDL_Arduino_INA3221
Assurez-vous que vous mettez dans vos propres valeurs pour SSID et votre mot de passe pour votre point d’accès local :
SolarPowerESP8266.ino
Le fichier SAPData.h
! = 0) {returnString += "|";} String sensorBuild ; sensorBuild = String(mySAPBuffer.timeStamp) + «, » ; int i ; pour (j’ai = 0; j’ai < 3; i ++) {sensorBuild += String (mySAPBuffer.SAPEntry.busVoltage [i], 2) + «, »; sensorBuild += String (mySAPBuffer.SAPEntry.loadVoltage [i], 2) + «, »; if (j’ai 2 <) sensorBuild += String (mySAPBuffer.SAPEntry.current [i], 2) + «, »; else sensorBuild = String (mySAPBuffer.SAPEntry.current [i], 2); / / Serial.print("sensorBuild="); / / Serial.println(sensorBuild);} returnString += sensorBuild ; statut = readSAPBuffer (& mySAPBuffer) ; } return returnString ; } void printDebugFullSAPBuffer() {Serial.print ("DebugFullSAPBuffer d’État C/R") ; Serial.Print(CurrentSAPBuffer) ; Serial.Print ("/") ; Serial.println(lastReadSAPBuffer) ; int i ; pour (i = 0; i < SAPBUFFERSIZE; i ++) {Serial.print("index:") ; Serial.Print(i) ; Serial.Print ("timeStamp =") ; Serial.Print(SAPBuffer[i].Timestamp) ; Si (.timeStamp SAPBuffer [i] == 0) {Serial.println ("SAPEntry = null");} else {Serial.println ("SAPEntry = Full"); / * donnéesSAP currentSAPData ; currentSAPData = SAPBuffer [i]. SAPEntry ; Serial.println ("---SAP entrée---") ; Serial.Print ("LIPO_Battery courant:") ; Serial.Print(currentSAPData.Current[0]) ; Serial.println ("mA") ; Serial.Print ("cellule solaire tension de Bus:") ; Serial.Print(currentSAPData.busVoltage[1]) ; Serial.println ("V") ; Serial.Print ("Bus courant de sortie:") ; Serial.Print(currentSAPData.Current[2]) ; Serial.println ("mA") ; * /}}} / / Lecture de données d’unité spécifique de SunAirPlus (SAP0 - SAP2) void startSAPINA3221() {ina3221_SAP.begin(); / / SAP} void readSAP() {int je ; pour (j’ai = 0; j’ai < 3; i ++) {currentSAPData.busVoltage[i] = 0.0f ; currentSAPData.current[i] = 0.0f ; currentSAPData.loadVoltage[i] = 0.0f;} currentSAPData.busVoltage[0] = ina3221_SAP.getBusVoltage_V(SAP_LIPO_BATTERY_CHANNEL + 1) ; currentSAPData.current[0] = ina3221_SAP.getCurrent_mA(SAP_LIPO_BATTERY_CHANNEL + 1); / / moins que c’est pour obtenir le droit de "sens". - moyens la batterie se recharge + qu’il évacue currentSAPData.loadVoltage[0] = currentSAPData.busVoltage[0] + (ina3221_SAP.getShuntVoltage_mV(SAP_LIPO_BATTERY_CHANNEL + 1) / 1000) ; currentSAPData.busVoltage[1] = ina3221_SAP.getBusVoltage_V(SAP_SOLAR_CELL_CHANNEL + 1) ; currentSAPData.current[1] = - ina3221_SAP.getCurrent_mA(SAP_SOLAR_CELL_CHANNEL + 1) ; Minus est à repenser le rôle du « sens ». -moyens, la batterie se recharge, + qu’il s’acquitte currentSAPData.loadVoltage[1] = currentSAPData.busVoltage[1] + (ina3221_SAP.getShuntVoltage_mV(SAP_SOLAR_CELL_CHANNEL + 1) / 1000) ; currentSAPData.busVoltage[2] = ina3221_SAP.getBusVoltage_V(SAP_OUTPUT_CHANNEL + 1) ; currentSAPData.current[2] = ina3221_SAP.getCurrent_mA(SAP_OUTPUT_CHANNEL + 1) ; Minus est à repenser le rôle du « sens ». -moyens, la batterie se recharge, + qu’il s’acquitte currentSAPData.loadVoltage[2] = currentSAPData.busVoltage[2] + (ina3221_SAP.getShuntVoltage_mV(SAP_OUTPUT_CHANNEL + 1) / 1000) ; Serial.println ("---données SAP---") ; Serial.Print ("tension de Bus LIPO_Battery:") ; Serial.Print(currentSAPData.busVoltage[0]) ; Serial.println ("V") ; Serial.Print ("la tension de charge LIPO_Battery:") ; Serial.Print(currentSAPData.loadVoltage[0]) ; Serial.println ("V") ; Serial.Print ("LIPO_Battery courant:") ; Serial.Print(currentSAPData.Current[0]) ; Serial.println ("mA") ; Serial.println("") ; Serial.Print ("cellule solaire tension de Bus:") ; Serial.Print(currentSAPData.busVoltage[1]) ; Serial.println ("V") ; Serial.Print ("tension de charge de pile solaire:") ; Serial.Print(currentSAPData.loadVoltage[1]) ; Serial.println ("V") ; Serial.Print ("courant cellule solaire:") ; Serial.Print(currentSAPData.Current[1]) ; Serial.println ("mA") ; Serial.println("") ; Serial.Print ("Bus Bus tension de sortie:") ; Serial.Print(currentSAPData.busVoltage[2]) ; Serial.println ("V") ; Serial.Print ("Bus charge tension de sortie:") ; Serial.Print(currentSAPData.loadVoltage[2]) ; Serial.println ("V") ; Serial.Print ("Bus courant de sortie:") ; Serial.Print(currentSAPData.Current[2]) ; Serial.println ("mA") ; Serial.println("") ; Serial.println("---") ; retour ; }