Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <SPI.h>
- #include <Adafruit_Sensor.h>
- #include <Adafruit_BME280.h>
- #include <PubSubClient.h>
- //#include <Dhcp.h>
- //#include <Dns.h>
- #include <Ethernet.h>
- #include <EthernetClient.h>
- #include <EthernetServer.h>
- #include <EthernetUdp.h>
- #define BME280_ADRESA (0x76)
- #define ETH_CS 10
- #define SD_CS 4
- Adafruit_BME280 bme;
- byte mac[] = {0x32, 0x56, 0xAB, 0x10, 0x10, 0x1A};
- char macstr[] = "3256AB10101A";
- byte ip[] = {10, 0, 0, 177};
- char servername[] = "quickstart.messaging.internetofthings.ibmcloud.com";
- String clientName = String("d:quickstart:arduino:") + macstr;
- String topicName = String("iot-2/evt/status/fmt/json");
- EthernetClient ethClient;
- PubSubClient client(servername, 1883, 0, ethClient);
- double teplota;
- double vlhkost;
- double tlak;
- void setup() {
- pinMode(ETH_CS,OUTPUT);
- pinMode(SD_CS,OUTPUT);
- digitalWrite(ETH_CS,LOW); //select the Ethernet Module
- digitalWrite(SD_CS,HIGH); //de-select the internal SD Card
- Serial.begin(9600);
- Serial.println("Načítání");
- if (!bme.begin(BME280_ADRESA)) {
- Serial.println("BME280 senzor nenalezen, zkontrolujte zapojeni!");
- while (1);
- }
- Serial.println("Senzor načten");
- Ethernet.begin(mac);
- Serial.println("Čeká se na IP");
- Serial.println(Ethernet.localIP());
- }
- void loop() {
- teplota = bme.readTemperature();
- vlhkost = bme.readHumidity();
- tlak = bme.readPressure();
- Serial.print("Teplota: ");
- Serial.print(teplota);
- Serial.println(" stupnu Celsia.");
- Serial.print("Relativni vlhkost: ");
- Serial.print(vlhkost);
- Serial.println(" %");
- Serial.print("Tlak: ");
- Serial.print(tlak / 100.0F);
- Serial.println(" hPa.");
- Serial.println();
- char clientStr[34];
- clientName.toCharArray(clientStr,34);
- char topicStr[26];
- topicName.toCharArray(topicStr,26);
- if (!client.connected()) {
- Serial.print("Trying to connect to: ");
- Serial.println(clientStr);
- client.connect(clientStr);
- }
- if (client.connected() ) {
- String json = buildJson(0.0);
- char jsonStr[200];
- json.toCharArray(jsonStr,200);
- boolean pubresult = client.publish(topicStr,jsonStr);
- Serial.print("Sending ");
- Serial.println(jsonStr);
- Serial.print("to ");
- Serial.println(topicStr);
- if (pubresult)
- Serial.println("SUCCESS\n");
- else
- Serial.println("NOT SUCCESSFULL\n");
- }
- delay(5000);
- }
- String buildJson(double temperature) {
- int uptime = millis()/1000/60.0;
- String data = "{";
- data += "\"d\":{";
- data += "\"name\": \"mega01\",";
- data += "\"temperature\": \"";
- data += (double)temperature;
- data += "\",";
- data += "\"uptime\": \"";
- data += (int)uptime;
- data += "\"}";
- data += "}";
- return data;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement