Remove now unused Sketch (meant for Wifi Feather)

This commit is contained in:
Vegar Westerlund 2019-06-10 15:47:03 +02:00
parent 2ab09f0fbc
commit e2ca14a9eb
4 changed files with 0 additions and 250 deletions

View File

@ -1,148 +0,0 @@
#include <ArduinoJson.h>
#include <SPI.h>
#include <WiFi101.h>
#include "HanReader.h"
#include "HanToJson.h"
#include "wifi_client.h"
#define LED_PIN 13 // The red led on the WiFi Feather
int state = 0;
WiFiClient client;
// Object used for debugging
Serial_* debugger = NULL;
// The HAN Port reader, used to read serial data and decode DLMS
HanReader hanReader;
byte meterType = 1; // Kaifa TODO: Read config, don't hard code
void setup() {
// Enable red LED
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, HIGH);
delay(200);
digitalWrite(LED_PIN, LOW);
delay(100);
// Initialize serial and wait for port to open:
//Serial.begin(9600);
//while (!Serial) ; // wait for serial port to connect. Needed for native USB port only
// Uncomment to debug over uart
//debugger = &Serial;
if (debugger) debugger->print("Unwantingly wait 5"); // Allow programming during restart
delay(1000);
if (debugger) debugger->print(" 4");
delay(1000);
if (debugger) debugger->print(" 3");
delay(1000);
if (debugger) debugger->print(" 2");
delay(1000);
if (debugger) debugger->print(" 1");
delay(1000);
if (debugger) debugger->println(" 0");
// Configure uart for AMS data
Serial1.begin(2400, SERIAL_8E1);
while (!Serial1);
// Configure pins for Adafruit ATWINC1500 Feather
WiFi.setPins(8,7,4,2);
// Check for the presence of the shield:
if (WiFi.status() == WL_NO_SHIELD) {
if (debugger) debugger->println("WiFi shield not present");
// don't continue:
while (true);
}
connect_wifi();
hanReader.setup(&Serial1, debugger);
// Compensate for the known Kaifa bug
hanReader.compensateFor09HeaderBug = (meterType == 1);
}
void loop() {
// If there are incoming bytes available
// from the server, read them and print them:
while (client.available()) {
state = 2;
char c = client.read();
Serial.write(c);
}
// Change state if last byte read from client
if (state == 2 && !client.available()) {
state = 0;
if (debugger) debugger->println();
if (debugger) debugger->println("Response data received");
}
readHanPort();
//if (debugger) debugger->println("Wait for event ");
__WFI();
}
void readHanPort()
{
if (hanReader.read())
{
// Flash LED on, this shows us that data is received
digitalWrite(LED_PIN, HIGH);
// Get the timestamp (as unix time) from the package
time_t time = hanReader.getPackageTime();
if (debugger) debugger->print("Time of the package is: ");
if (debugger) debugger->println(time);
// Define a json object to keep the data
StaticJsonDocument<500> doc;
// Any generic useful info here
//doc["id"] = WiFi.macAddress(); // TODO: Fix?
doc["up"] = millis();
doc["t"] = time;
// Add a sub-structure to the json object,
// to keep the data from the meter itself
JsonObject data = doc.createNestedObject("data");
hanToJson(data, meterType, hanReader);
// Write the json to the debug port
if (debugger) {
debugger->print("Sending data to MQTT: ");
serializeJsonPretty(doc, *debugger);
debugger->println();
debugger->print("data size: ");
debugger->println(measureJson(doc));
}
// TODO: Post data
//// Make sure we have configured a publish topic
//if (ap.config.mqttPublishTopic == 0 || strlen(ap.config.mqttPublishTopic) == 0)
// return;
//// Publish the json to the MQTT server
char msg[1024];
serializeJson(doc, msg, sizeof(msg));
//mqtt.publish(ap.config.mqttPublishTopic, msg);
if (send_data(&client, msg)) {
state = 1;
}
// Flash LED off
digitalWrite(LED_PIN, LOW);
}
}

View File

@ -1,3 +0,0 @@
#define SECRET_SSID "flyndrefisken"
#define SECRET_PASS "dzwe.lzgq.ztzs"
#define AUTH_HEADER "Basic dmVnYXJ3ZTpmaXNrZW4="

View File

@ -1,10 +0,0 @@
#ifndef _WIFI_CLIENT_H
#define _WIFI_CLIENT_H
#include <WiFi101.h>
void connect_wifi();
bool send_data(WiFiClient *client, char* json_data);
#endif//_WIFI_CLIENT_H

View File

@ -1,89 +0,0 @@
#include "wifi_client.h"
#include <SPI.h>
#include "arduino_secrets.h"
char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS;
char auth[] = AUTH_HEADER;
// TODO: s/Serial.print/if (debugger) debugger->print/
// TODO: Rename from .ino to .cpp
void printWiFiStatus() {
// print the SSID of the network you're attached to:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// print your WiFi shield's IP address:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
// print the received signal strength:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
void connect_wifi() {
// attempt to connect to WiFi network:
while (true) {
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network. Change this line if using open or WEP network:
WiFi.disconnect();
int status = WiFi.begin(ssid, pass);
if (status == WL_CONNECTED) {
break;
}
// wait 1 seconds for connection:
Serial.print("Waiting 1 before trying again. status: ");
Serial.println(status);
yield();
delay(1000);
}
WiFi.lowPowerMode();
//WiFi.setSleepMode(M2M_PS_H_AUTOMATIC, 1);
Serial.println("Connected to wifi");
printWiFiStatus();
}
bool send_data(WiFiClient *client, char* json_data) {
if (WiFi.status() != WL_CONNECTED) {
Serial.println("Ehhh, not connected?");
return false;
}
Serial.println("\nConnection to server...");
if (client->connect("kanskje.de", 8181)) {
Serial.println("connected to server");
char content_length[] = "Content-Length: 1234567890";
sprintf(content_length, "Content-Length: %d", strlen(json_data));
// Make a HTTP request:
client->println("POST /what-ever HTTP/1.1");
client->println("Host: kanskje.de");
client->print("Authorization: ");
client->println(auth);
client->println("Content-Type: application/json");
client->println(content_length);
client->println("Connection: close");
client->println();
client->println(json_data);
return true;
}
return false;
}