Skip to content

Instantly share code, notes, and snippets.

@unicore32
Created February 1, 2016 13:00
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save unicore32/a72b8e237ed383eba10c to your computer and use it in GitHub Desktop.
Save unicore32/a72b8e237ed383eba10c to your computer and use it in GitHub Desktop.
高専ロボコン2015 (福島 「ぐる輪」) コントローラー用プログラム(コントローラー側)
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <WiFiUDP.h>
// Variable settings
char rcvBUFF_Serial[40];
// UDP settings
WiFiUDP UDP;
// WiFi settings
IPAddress HOSTIP (192, 168, 4, 1);
IPAddress myIP(192, 168, 4, 2);
const char *ssid = "GURURIN_NITFC_B";
const char *password = "1145141919";
void connectWiFi() {
WiFi.begin(ssid, password); // setting SSID and Password
WiFi.config(myIP, WiFi.gatewayIP(), WiFi.subnetMask()); // setting IP Address
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
}
void setup() {
pinMode(4, OUTPUT); // power LED
pinMode(5, OUTPUT); // status LED
delay(1000); // waitTime
UDP.begin(893); // setting UDP port
digitalWrite(4, HIGH);
connectWiFi();
Serial.begin(9600);
}
void sendWiFi(char byteData[]) {
//char stringData[40];
if (UDP.beginPacket(HOSTIP, 893)) {
//strncpy(stringData, byteData+5, 4);
UDP.write(byteData);
UDP.endPacket();
}
}
inline void Serial_RX() {
char rcvDATA;
static int rcvCOUNT = 0;
rcvDATA = Serial.read();
rcvBUFF_Serial[rcvCOUNT] = rcvDATA;
rcvCOUNT++;
if (rcvDATA == 0x0A) {
sendWiFi(rcvBUFF_Serial);
rcvCOUNT = 0;
memset(rcvBUFF_Serial, '\0', 40);
}
else if (rcvCOUNT >= 40) {
rcvCOUNT = 0;
memset(rcvBUFF_Serial, '\0', 40);
}
}
void loop() {
if (Serial.available() > 0) {
Serial_RX();
}
if (WiFi.status() == WL_CONNECTED) {
digitalWrite(5, HIGH);
}
else {
WiFi.disconnect();
digitalWrite(5, LOW);
connectWiFi();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment