Sub Process_Globals
Public Serial1 As Serial
Public softserial As SoftwareSerial
Private d1 As NodeMCU_ESP12_pins
Private timer1 As Timer
Private ser As B4RSerializator
Dim TEMP As Float
Dim HUMIDITY As Float
Private astream As AsyncStreams
Dim i As Long
End Sub
Private Sub AppStart
Serial1.Initialize(115200)
Log("AppStart")
softserial.Initialize(9600,d1.D4,d1.D3)
astream.Initialize(softserial.Stream,"astream_Newdata","astream_Error")
RunNative("setup",Null)
Delay (100)
timer1.Initialize("timer1_Tick",5000)
timer1.Enabled=True
End Sub
Sub Timer1_Tick
RunNative("read",Null)
Log(TEMP)
Log(HUMIDITY)
Dim msg As String=JoinStrings(Array As String(i,",",TEMP,",",HUMIDITY,CRLF))
astream.Write(msg.GetBytes)
Log(msg)
i=i+1
End Sub
Sub astream_Newdata (Buffer() As Byte)
Log("NewData from ESP:",Buffer)
End Sub
Sub Astream_Error
Log("Error.")
End Sub
#if C
#include <Wire.h>
#include "Adafruit_SHT31.h"
Adafruit_SHT31 sht31 = Adafruit_SHT31();
void setup(B4R::Object* o){
sht31.begin(0x44);
}
void read (B4R::Object* o) {
b4r_main::_temp=sht31.readTemperature();
b4r_main::_humidity=sht31.readHumidity();
}