Stap 5: Software (Android apps door apps uitvinder, Firmware door MPLAB)
#include "fileheader.h"
const char main_page [] = "C %0";
const char time_page [] = "T %1";
char debug [7];
Int32 http_get_page(char *file_str)
{
Int32 file_loc = 0;
int8 ik = 0;
int8 dagen = 0;
int8 maand = 0;
int8 jaar = 0;
int8 uur = 0;
int8 min = 0;
int8 tweede = 0;
int8 dow = 0;
statische char dimmer [] = "/ D";
statische char fan [] = "/ F";
statische char powersocket [] = "/ S";
statische char alarmsysteem [] = '/ A';
statische char magneticlock [] = "/ L";
statische char statecheck [] = "/ C";
statische char rtc_io [] = "/ T";
debug [0] = file_str [0];
[1] debug = file_str [1];
debug [2] = file_str [2];
debug [3] = file_str [3];
debug [4] = file_str [4];
dimmer controle
Als (stricmp(file_str[1],dimmer[1])==0)
{
Ik =(file_str[2] & 0b11001111) * 100 + (file_str [3] & 0b11001111) * 10 + (file_str [4] & 0b11001111);
bulb_brightness(i);
file_loc=label_address(Main_Page);
}
Alarm controle
Als (stricmp(file_str,alarmsystem)==0)
{
toggle_alarm_state();
file_loc=label_address(Main_Page);
}
rtc_io
Als (stricmp(file_str[1],rtc_io[1])==0)
{
if(file_str[2]=='s') //set tijd
{
dagen = (file_str [3] & 0b11001111) * 10 + (file_str [4] & 0b11001111);
maand = (file_str [5] & 0b11001111) * 10 + (file_str [6] & 0b11001111);
jaar = (file_str [7] & 0b11001111) * 10 + (file_str [8] & 0b11001111);
Dow = (file_str [9] & 0b11001111);
uur = (file_str [10] & 0b11001111) * 10 + (file_str [11] & 0b11001111); min = (file_str [12] & 0b11001111) * 10 + (file_str [13] & 0b11001111);
tweede = (file_str [14] & 0b11001111) * 10 + (file_str [15] & 0b11001111); ds1307_set_date_time(Days,month,year,Dow,Hour,min,Second);
file_loc=label_address(time_page);
}
if(file_str[2]=='g') //get tijd
{file_loc=label_address(time_page);}
if(file_str[2]=='r') //configuration rtc io
set_rtc_io (aan/uit, welke i/o-hr aan op, min op, hr uitgeschakeld, min uitgeschakeld)
{set_rtc_io(file_str[3] & 0b11001111, file_str[4] & 0b11001111, (file_str[5] & 0b11001111) * 10 + (file_str [6] & 0b11001111), (file_str [7] & 0b11001111) * 10 + (file_str [8] & 0b11001111), (file_str [9] & 0b11001111) * 10 + (file_str [10] & 0b11001111), (file_str [11] & 0b11001111) * 10 + (file_str [12] & 0b11001111)); file_loc=label_address(time_page);} }
voor fan als (stricmp (file_str [1], fan [1]) == 0) {if(stricmp(file_str[2],'1')==0) {fan_speed1();} if(stricmp(file_str[2],'2')==0) {fan_speed2();} if(stricmp(file_str[2],'3')==0) {fan_speed3();} if(stricmp(file_str[2],'o')==0) {fan_off();} if(stricmp(file_str[2],'r')==0) {fan_rotate_toggle()}; file_loc=label_address(main_page);}
voor magnetische vergrendeling als (stricmp(file_str,magneticlock)==0) {toggle_magnetic_lock_state(); file_loc=label_address(main_page);}
voor stopcontact als (stricmp (file_str [1], powersocket [1]) == 0) {if(stricmp(file_str[2],'1')==0) {toggle_power_socket1_state();} if(stricmp(file_str[2],'2')==0) {toggle_power_socket2_state();} if(stricmp(file_str[2],'3')==0) {toggle_power_socket3_state()}; file_loc=label_address(main_page);}
Raadpleeg voor staat als (stricmp (file_str, statecheck) == 0) {file_loc=label_address(main_page);}
Return(file_loc); }
int8 http_format_char (int32 bestand, char id, char * str, int8 max_ret) {char new_str [50], len int8 = 0;
* str = 0;
switch(id) {}
kast '0': sprintf(new_str,"%2d%2d%2d%3d%d%d%d%d%d%d%d%d%d%d%d%s",hr,min,get_temperature(), get_bulb_brightness(), input_state(speed1), input_state(speed2), input_state(speed3), input_state(rotate), input_state(magnetic_lock_signal),input_state(power_socket_signal1),input_state(power_socket_signal2),input_state(power_socket_signal3),input_state(voice_sensor_signal) , input_state(alarm_signal),T,debug); len=STRLEN(new_str); breken;
case '1': sprintf(new_str,"%2d%2d%1d%1d%1d%2d%2d%2d%2d%2d%2d%2d%2d%2d%2d%2d%2d",hr,min,rtc.io0,rtc.io1,rtc.io2,hr_on_io0,min_on_io0,hr_off_io0,min_off_io0,hr_on_io1,min_on_io1,hr_off_io1,min_off_io1,hr_on_io2,min_on_io2,hr_off_io2,min_off_io2); len=STRLEN(new_str); breken; } Als (len) {als (len > max_ret) {len = max_ret;} memcpy(str,new_str,len);}
Return(len); }
VOID http_exec_cgi (int32 bestand, char * toets, char * val) {;}
ongeldig main(void) {}
delay_ms(1000);
rtc_io_init();
power_socket_init();
bulb_dimmer_init();
voice_control_alarm_system_init();
magnetic_lock_init();
temperature_sensor_init();
fan_init();
MACAddrInit();
IPAddrInit();
StackInit();
delay_ms(10);
while (true)
{
StackTask();
}
}