Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
3da8001c4c | |||
6db5cf4a80 |
|
@ -60,111 +60,45 @@ int signcursor = 0;
|
||||||
|
|
||||||
char output[5];
|
char output[5];
|
||||||
|
|
||||||
uint8_t a[1];
|
// Protocol crap
|
||||||
uint8_t b[13];
|
uint8_t a[1] = {0x1};
|
||||||
uint8_t c[1];
|
uint8_t b[13] = {0x6,0x7,0xD4,0x9,0x5,0x1B,0xE8,0x8,0x17,0x37,0x1B,0xE8,0xE4};
|
||||||
uint8_t d[1];
|
uint8_t c[1] = {0x0};
|
||||||
uint8_t e[1];
|
uint8_t d[1] = {0xA};
|
||||||
uint8_t f[1];
|
uint8_t e[1] = {0x1A};
|
||||||
uint8_t g[12];
|
uint8_t f[1] = {0x1};
|
||||||
uint8_t h[1];
|
uint8_t g[12] = {0x6,0x7,0xD4,0x9,0x5,0x1B,0xE8,0x8,0x17,0x38,0x0,0x9C};
|
||||||
uint8_t i[262];
|
uint8_t h[1] = {0x18};
|
||||||
uint8_t j[24];
|
// Set all LEDs on
|
||||||
|
uint8_t i[262] = {0x1B,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xD4,0x9,0x1B,0xE8,0x7,0xD4,0xA,0x1B,0xE8,0x0,0x0,0x0,0x17,0x3B,0x3B,0x7F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x64,0x0,0x0,0x30,0x30,0x30,0x30,0x33,0x30,0x30,0x33,0x30,0x30,0x5C,0x42,0x30,0x30,0x5C,0x70,0x0,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x1,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x0,0x0,0x70,0x2E,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x10,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
|
||||||
#include <WiServer.h>
|
// Protocol crap
|
||||||
|
uint8_t j[24] = {0x19,0x44,0x49,0x53,0x50,0x0,0x0,0x0,0x48,0x0,0x10,0x1,0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x0,0x50,0x0,0x0,0x58};
|
||||||
#define WIRELESS_MODE_INFRA 1
|
|
||||||
#define WIRELESS_MODE_ADHOC 2
|
|
||||||
|
|
||||||
// Wireless configuration parameters ----------------------------------------
|
|
||||||
unsigned char local_ip[] = {192,168,1,100}; // IP address of WiShield
|
|
||||||
unsigned char gateway_ip[] = {192,168,1,1}; // router or gateway IP address
|
|
||||||
unsigned char subnet_mask[] = {255,255,255,0}; // subnet mask for the local network
|
|
||||||
const prog_char ssid[] PROGMEM = {"heatsynclabs"}; // max 32 bytes
|
|
||||||
|
|
||||||
unsigned char security_type = 2; // 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2
|
|
||||||
|
|
||||||
// WPA/WPA2 passphrase
|
|
||||||
const prog_char security_passphrase[] PROGMEM = {"yourpasswordhere"}; // max 64 characters
|
|
||||||
|
|
||||||
// WEP 128-bit keys
|
|
||||||
// sample HEX keys
|
|
||||||
prog_uchar wep_keys[] PROGMEM = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, // Key 0
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Key 1
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Key 2
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Key 3
|
|
||||||
};
|
|
||||||
|
|
||||||
// setup the wireless mode
|
|
||||||
// infrastructure - connect to AP
|
|
||||||
// adhoc - connect to another WiFi device
|
|
||||||
unsigned char wireless_mode = WIRELESS_MODE_INFRA;
|
|
||||||
|
|
||||||
unsigned char ssid_len;
|
|
||||||
unsigned char security_passphrase_len;
|
|
||||||
// End of wireless configuration parameters ----------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
// IP Address for api.twitter.com
|
|
||||||
//uint8 ip[] = {199,59,150,41};
|
|
||||||
uint8 ip[] = {50,56,124,136};
|
|
||||||
|
|
||||||
//GETrequest getTweet(ip, 80, "api.twitter.com", "/1/statuses/user_timeline.json?include_entities=false&include_rts=false&screen_name=heatsynclabs&count=1");
|
|
||||||
GETrequest getTweet(ip, 80, "tweet.zyphon.com", "/cgi-bin/signage.rb");
|
|
||||||
|
|
||||||
long updateTime = 0;
|
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
// Enable Serial output and ask WiServer to generate log messages (optional)
|
// Enable Serial output and ask WiServer to generate log messages (optional)
|
||||||
Serial.begin(57600);
|
Serial.begin(57600);
|
||||||
|
|
||||||
Serial.println("wifi");
|
|
||||||
// Initialize WiServer and have it use the sendMyPage function to serve pages
|
|
||||||
WiServer.init(NULL);
|
|
||||||
WiServer.enableVerboseMode(true);
|
|
||||||
getTweet.setReturnFunc(processData);
|
|
||||||
updateTime = millis();
|
|
||||||
|
|
||||||
Serial.println("ser");
|
Serial.println("ser");
|
||||||
// set the data rate for the SoftwareSerial port
|
// set the data rate for the SoftwareSerial port
|
||||||
mySerial.begin(9600);
|
mySerial.begin(9600);
|
||||||
mySerial.println("hi");
|
mySerial.println("hi");
|
||||||
|
|
||||||
//setup_sign_protocol();
|
send_data(); // this should send the new program to the sign
|
||||||
Serial.println("dun");
|
Serial.println("dun");
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop(){
|
void loop(){
|
||||||
|
// do nothing
|
||||||
|
// you can do something like this if you want but you should put a delay in the loop so it's not constant:
|
||||||
|
// load_message("foo bar");
|
||||||
// Check if it's time to get an update
|
// send_data();
|
||||||
if (millis() >= updateTime) {
|
|
||||||
Serial.println("go!");
|
|
||||||
getTweet.submit();
|
|
||||||
|
|
||||||
// Get an update every 30 seconds
|
|
||||||
updateTime += 1000 * 30;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
// Check if it's time to clear the screen (20 secs before update)
|
|
||||||
if (millis() >= updateTime-1000*20) {
|
|
||||||
load_message(" ");
|
|
||||||
send_data();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Run WiServer
|
|
||||||
WiServer.server_task();
|
|
||||||
|
|
||||||
delay(10);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void load_message(char textmsg[18]) {
|
void load_message(char textmsg[18]) {
|
||||||
// max size is 262 bytes with 118 bytes of header, leaving 144 bytes for 16x72 (1152 pixels)
|
// max size is 262 bytes with 118 bytes of header, leaving 144 bytes for 16x72 (1152 pixels)
|
||||||
// this is the 118 byte header
|
// this is the 118 byte header
|
||||||
i = {0x1B,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xD4,0x9,0x1B,0xE8,0x7,0xD4,0xA,0x1B,0xE8,0x0,0x0,0x0,0x17,0x3B,0x3B,0x7F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x64,0x0,0x0,0x30,0x30,0x30,0x30,0x33,0x30,0x30,0x33,0x30,0x30,0x5C,0x42,0x30,0x30,0x5C,0x70,0x0,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x1,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x0,0x0,0x70,0x2E,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x10,0x0};
|
//i = {0x1B,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xD4,0x9,0x1B,0xE8,0x7,0xD4,0xA,0x1B,0xE8,0x0,0x0,0x0,0x17,0x3B,0x3B,0x7F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x64,0x0,0x0,0x30,0x30,0x30,0x30,0x33,0x30,0x30,0x33,0x30,0x30,0x5C,0x42,0x30,0x30,0x5C,0x70,0x0,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x1,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x0,0x0,0x70,0x2E,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x10,0x0};
|
||||||
|
|
||||||
|
|
||||||
uint8_t* message[18];
|
uint8_t* message[18];
|
||||||
|
@ -339,11 +273,10 @@ void load_message(char textmsg[18]) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ser_print(){
|
void ser_print(){
|
||||||
// while (mySerial.available()) {
|
while (mySerial.available()) {
|
||||||
// lineread = String(mySerial.read(),HEX);
|
lineread = String(mySerial.read(),HEX);
|
||||||
// lineread.toCharArray(output,5);
|
lineread.toCharArray(output,5);
|
||||||
// }
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void array_sw(uint8_t data[], int datasize) {
|
void array_sw(uint8_t data[], int datasize) {
|
||||||
|
@ -396,59 +329,4 @@ void send_data() {
|
||||||
ser_print();
|
ser_print();
|
||||||
}
|
}
|
||||||
|
|
||||||
void setup_sign_protocol() {
|
|
||||||
|
|
||||||
// Protocol crap
|
|
||||||
a = {0x1};
|
|
||||||
b = {0x6,0x7,0xD4,0x9,0x5,0x1B,0xE8,0x8,0x17,0x37,0x1B,0xE8,0xE4};
|
|
||||||
c = {0x0};
|
|
||||||
d = {0xA};
|
|
||||||
e = {0x1A};
|
|
||||||
f = {0x1};
|
|
||||||
g = {0x6,0x7,0xD4,0x9,0x5,0x1B,0xE8,0x8,0x17,0x38,0x0,0x9C};
|
|
||||||
h = {0x18};
|
|
||||||
// Set all LEDs on
|
|
||||||
i = {0x1B,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xD4,0x9,0x1B,0xE8,0x7,0xD4,0xA,0x1B,0xE8,0x0,0x0,0x0,0x17,0x3B,0x3B,0x7F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x64,0x0,0x0,0x30,0x30,0x30,0x30,0x33,0x30,0x30,0x33,0x30,0x30,0x5C,0x42,0x30,0x30,0x5C,0x70,0x0,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x1,0x70,0x30,0x30,0x33,0x30,0x30,0x33,0x0,0x0,0x70,0x2E,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x10,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
|
|
||||||
// Protocol crap
|
|
||||||
j = {0x19,0x44,0x49,0x53,0x50,0x0,0x0,0x0,0x48,0x0,0x10,0x1,0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x0,0x50,0x0,0x0,0x58};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Function to handle data from the server
|
|
||||||
void processData(char* data, int len) {
|
|
||||||
// Do stuff with the data here
|
|
||||||
|
|
||||||
for(int i=0;i<len;i++){
|
|
||||||
Serial.print(data[i]);
|
|
||||||
if(data[i] == '^' || signcursor > 0) {
|
|
||||||
// append to stream if we find a ^ or if we're already appending
|
|
||||||
|
|
||||||
// advance past the ^
|
|
||||||
if(data[i] == '^') {
|
|
||||||
i=i+1;
|
|
||||||
}
|
|
||||||
|
|
||||||
while(data[i] != '$' && i < len) {
|
|
||||||
signbuffer[signcursor] = data[i];
|
|
||||||
signcursor++;
|
|
||||||
i++;
|
|
||||||
|
|
||||||
if(data[i] == '$' || signcursor > 17 || i > len) {
|
|
||||||
// fill in any remaining letters in the buffer
|
|
||||||
for(int j=signcursor;j<18;j++){
|
|
||||||
signbuffer[j]='\0';
|
|
||||||
}
|
|
||||||
// send to the screen
|
|
||||||
signcursor = 0;
|
|
||||||
|
|
||||||
Serial.print("> sending:");
|
|
||||||
Serial.println(signbuffer);
|
|
||||||
|
|
||||||
load_message(signbuffer);
|
|
||||||
send_data();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user