Przesyłanie pomiarów do Supli z Arduino

Zamber
Posts: 10
Joined: Tue Jan 24, 2017 1:58 pm

Post

Witam
To moje początki zabawy z mikrokontrolerami. Udało mi się uruchomić ESP8266, zrobiłem też sterownik (termostat) do pieca CO z DS18B20. Termostat będzie miał LCD, ale dobrze byłoby, gdyby dane były wrzucane też do Supli. Czy doposażając Arduino w moduł Eth lub ESP i dopisując "COŚ" do kodu programu będzie można przesyłać dodatkowo dane do Supli. Domyślam sie, że jakąś biblioteke ale czy tylko?
Wklejam kod programu

Code: Select all


#include <VirtualWire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2);
 
#include <OneWire.h>
#include <DallasTemperature.h>
 
int p1 = 7; // przycisk  zwiekszajacy nastawe temperatury T1
int p2 = 6; // przycisk zmniejszajacy nastawe temperatury T1
int p1state = 0;
int p2state = 0;
 
#define ONE_WIRE_BUS A0
 
 OneWire oneWire(ONE_WIRE_BUS);
 DallasTemperature sensors(&oneWire);
 int nastaw1 = 22; // zadana temperatura T1
 int przekaznik1 = 8;  // pin przekaznik elektrozaworu z czujnika T1
   
void setup(void)
 
{
 lcd.init();                      
 lcd.backlight();
 
 vw_set_tx_pin(12); //pin sygnalowy do nadajnika RF
 vw_setup(2000);   // Bits per sec
 
 pinMode(przekaznik1,OUTPUT);
 pinMode (7, INPUT_PULLUP); // przycisk zwiekszajacy nastawe temperatury
 pinMode (6, INPUT_PULLUP); // przycisk zmniejszajacy nastawe temperatury
 
 sensors.begin();
 Serial.begin(9600);
}
 
 void wys(void)
 {
 sensors.requestTemperatures();
 lcd.setCursor(0, 0);
 lcd.print("T1=");
 lcd.print(sensors.getTempCByIndex(0));
 lcd.print("  ");
 lcd.print("NT1=");
 lcd.print(nastaw1);
 
   if (sensors.getTempCByIndex(0) < (nastaw1)) 
      { digitalWrite(8,HIGH); }
   
   if (sensors.getTempCByIndex(0) > (nastaw1+1)) // histereza
      { digitalWrite(8,LOW); }  
 }
 
 
void loop() 
 
{ 
 p1state = digitalRead(p1);
 p2state = digitalRead(p2);
  if(p1state == LOW){nastaw1=nastaw1+1;}
  if(p2state == LOW){nastaw1=nastaw1-1;}
  wys();
     
  char *msg;
  if (digitalRead(8) == HIGH) {msg="on"; }
  else {msg="off"; } ;
  vw_send((uint8_t *)msg, strlen(msg));
  vw_wait_tx(); // Wait until the whole message is gone
    
     } 
Last edited by Zamber on Tue Jan 24, 2017 2:10 pm, edited 1 time in total.
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Jakie dane ?
SUPLA.... Nareszcie w domu.
Zamber
Posts: 10
Joined: Tue Jan 24, 2017 1:58 pm

Post

No temperaturę. Mam teraz przykładowo w pokoju czujkę z Arduino i dodatkową czujkę z ESP. Chciałbym to załatwić jednocześnie jedna czujką z Arduino, zwalniając przy okazji ESP. Czyli DS18b20>Arduino>Odbiornik RF przy piecu i Supla.

Ten mój "Projekt" wrzuciłem na majsterkowo:) Chciałbym, żeby termostat wrzucał jednocześnie dane na Supla ale nie bardzo wiem jak się za to zabrać.
https://majsterkowo.pl/termostat-sterow ... 430mhz-rf/
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

SUPLA.... Nareszcie w domu.
Zamber
Posts: 10
Joined: Tue Jan 24, 2017 1:58 pm

Post

Dzięki wielkie, ale czy te polecenia z tego przykładu obsłużą moduł ENC28J60? A może ma Pan gdzieś przykład, gdzie zamiast modułu ethernetowego można byłoby wykorzystać ESP8266?
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

SUPLA.... Nareszcie w domu.
Zamber
Posts: 10
Joined: Tue Jan 24, 2017 1:58 pm

Post

Kombinowałem do późna z uruchomieniem ENC28J60, aż w końcu doczytałem w innym wątku, że z UNO raczej nie ma szans?
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Zamber wrote: Tue Feb 07, 2017 11:04 am
Kombinowałem do późna z uruchomieniem ENC28J60, aż w końcu doczytałem w innym wątku, że z UNO raczej nie ma szans?
Póki co nie ma miejsca
SUPLA.... Nareszcie w domu.

Return to “Pomoc”