Advertisement
domdealm

meeucodigo

Feb 24th, 2018
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. //Inclusão de Bibliotecas
  2. #include <WiFiClientSecure.h>
  3. #include <ESP8266WiFi.h>
  4. #include <PubSubClient.h>
  5. #include <DallasTemperature.h>
  6. #include <OneWire.h>
  7.  
  8.  
  9. //Informações do WIFI
  10. const char* ssid = "xxxxxxxxxxxxx";
  11. const char* password = "xxxxxxxxxxxxx";
  12. WiFiClient wifiClient;
  13.  
  14.  
  15. //Constantes de conexão do IBM Bluemix
  16. #define DEVICE_TYPE "xxxx"
  17. #define DEVICE_ID "xxxx"
  18. #define ORG "xxxxxxxxxxxxx"
  19. #define TOKEN "xxxxxxxxxxxxx"
  20. char server[] = ORG ".messaging.internetofthings.ibmcloud.com";
  21. char topic[] = "iot-2/evt/status/fmt/json";
  22. char authMeth[] = "use-token-auth";
  23. char token[] = TOKEN;
  24. char clientId[] = "d:" ORG ":" DEVICE_TYPE ":" DEVICE_ID;
  25.  
  26. //Inicialização do cliente MQTT
  27. PubSubClient client(server, 1883, NULL, wifiClient);
  28.  
  29.  
  30. //Sensor de Temperatura
  31. #define ONE_WIRE_BUS 2
  32. OneWire oneWire(ONE_WIRE_BUS);
  33. DallasTemperature sensor(&oneWire);
  34.  
  35.  
  36. //Função de setup
  37. void setup() {
  38. Serial.begin(115200);
  39. Serial.println();
  40. setupWifi();
  41. }
  42.  
  43. //__ Função principal
  44. void loop() {
  45. float readingc;
  46. float readingf;
  47. sensor.requestTemperatures();
  48. readingc = sensor.getTempCByIndex(0);
  49. readingf = sensor.getTempFByIndex(0);
  50.  
  51. //__ Verifica se está conectada a cloud para envio dos dados
  52. if (!!!client.connected()) {
  53. //__ Caso não esteja conectada, tenta a conexão
  54. Serial.print("Reconectando-se em ");
  55. Serial.println(server);
  56. while (!!!client.connect(clientId, authMeth, token)) {
  57. Serial.print(".");
  58. delay(500);
  59. }
  60. Serial.println();
  61. }
  62. //__ Envia um dado para a cloud
  63. enviaDado(String("Celsius"), readingc, String("Farenheit"), readingf);
  64. delay(10000);
  65. }
  66.  
  67. //Função para enviar dados para o BLUEMIX
  68. void enviaDado(String nome_campo, int dado, String nome_campo2, int dado2){
  69. //__ Formata a string que será envia para a cloud (JSON)
  70. String payload = "{\"d\":{\"" + nome_campo + "\":";
  71. payload += dado;
  72. payload += ",\""+ nome_campo2 +"\":";
  73. payload += dado2;
  74. payload += "}}";
  75.  
  76. Serial.print("Sending payload: ");
  77. Serial.println(payload);
  78.  
  79. //__ Envia o dado
  80. if (client.publish(topic, (char*) payload.c_str())) {
  81. Serial.println("Publish ok");
  82. } else {
  83. Serial.println("Publish failed");
  84. }
  85. }
  86.  
  87. void setupWifi(){
  88.  
  89. // attempt to connect to Wifi network:
  90.  
  91. WiFi.begin(ssid,password);
  92. Serial.print("Conectando ao Wifi: ");
  93. Serial.println(ssid);
  94. while (WiFi.status() != WL_CONNECTED) {
  95. // Serial.print(".");
  96. delay(500);
  97. }
  98.  
  99. Serial.println("");
  100. Serial.println("WiFi conectado");
  101. Serial.print("IP: ");
  102. Serial.println(WiFi.localIP());
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement