Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
3da8001c4c | |||
6db5cf4a80 |
|
@ -60,111 +60,45 @@ int signcursor = 0;
|
|||
|
||||
char output[5];
|
||||
|
||||
uint8_t a[1];
|
||||
uint8_t b[13];
|
||||
uint8_t c[1];
|
||||
uint8_t d[1];
|
||||
uint8_t e[1];
|
||||
uint8_t f[1];
|
||||
uint8_t g[12];
|
||||
uint8_t h[1];
|
||||
uint8_t i[262];
|
||||
uint8_t j[24];
|
||||
|
||||
#include <WiServer.h>
|
||||
|
||||
#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;
|
||||
// Protocol crap
|
||||
uint8_t a[1] = {0x1};
|
||||
uint8_t b[13] = {0x6,0x7,0xD4,0x9,0x5,0x1B,0xE8,0x8,0x17,0x37,0x1B,0xE8,0xE4};
|
||||
uint8_t c[1] = {0x0};
|
||||
uint8_t d[1] = {0xA};
|
||||
uint8_t e[1] = {0x1A};
|
||||
uint8_t f[1] = {0x1};
|
||||
uint8_t g[12] = {0x6,0x7,0xD4,0x9,0x5,0x1B,0xE8,0x8,0x17,0x38,0x0,0x9C};
|
||||
uint8_t h[1] = {0x18};
|
||||
// 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};
|
||||
// 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};
|
||||
|
||||
void setup() {
|
||||
// Enable Serial output and ask WiServer to generate log messages (optional)
|
||||
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");
|
||||
// set the data rate for the SoftwareSerial port
|
||||
mySerial.begin(9600);
|
||||
mySerial.println("hi");
|
||||
|
||||
//setup_sign_protocol();
|
||||
send_data(); // this should send the new program to the sign
|
||||
Serial.println("dun");
|
||||
}
|
||||
|
||||
void loop(){
|
||||
|
||||
|
||||
|
||||
// Check if it's time to get an update
|
||||
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);
|
||||
// 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");
|
||||
// send_data();
|
||||
}
|
||||
|
||||
|
||||
void load_message(char textmsg[18]) {
|
||||
// max size is 262 bytes with 118 bytes of header, leaving 144 bytes for 16x72 (1152 pixels)
|
||||
// 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];
|
||||
|
@ -339,11 +273,10 @@ void load_message(char textmsg[18]) {
|
|||
}
|
||||
|
||||
void ser_print(){
|
||||
// while (mySerial.available()) {
|
||||
// lineread = String(mySerial.read(),HEX);
|
||||
// lineread.toCharArray(output,5);
|
||||
// }
|
||||
|
||||
while (mySerial.available()) {
|
||||
lineread = String(mySerial.read(),HEX);
|
||||
lineread.toCharArray(output,5);
|
||||
}
|
||||
}
|
||||
|
||||
void array_sw(uint8_t data[], int datasize) {
|
||||
|
@ -396,59 +329,4 @@ void send_data() {
|
|||
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