資源簡介
這個智能家居控制系統,是本人親身體會的第一個嵌入式項目,在開發過程中遇到了許多的技術難題,均已一一解決。本智能家居系統主要監控視頻,溫度,紅外,自動發短消息,自動報警等功能。

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?“linux/input.h“
#include?“log.h“
#include?“device.h“
#include?“msg.h“
/*?功能:打開設備
?*?返回值:-1:失敗;?0:成功
?*?參數:無
?*?*/
int?init_device(void)
{
????????int?arg?=?12;
????????regeditorfd?=?open(REGEDITOR_DEV?O_RDWR);
????????if(regeditorfd?0)?{
????????????ERROR(“open?regeditor?device?error\n“);
????????????return?-1;
????????}
????????
????????ledfd?=?open(LED_DEV?O_RDWR);
????????if(ledfd?0)?{
????????????ERROR(“open?led?device?error\n“);
????????????return?-1;
????????}
????????
????????beepfd?=?open(BEEP_DEV?O_RDWR);
????????if?(beepfd?0)?{
????????????ERROR(“open?beep?device?error\n“);
????????????return?-1;
????????}
????????
????????tempfd?=?open(TEMP_DEV?O_RDWR);
????????if?(tempfd?0)?{
????????????ERROR(“open?temperature?device?error\n“);
????????????return?-1;
????????}
????????adcfd?=?open(ADC_DEV?O_RDWR);
????????if?(adcfd?0)?{
????????????ERROR(“open?adc?device?error\n“);
????????????return?-1;
????????}
????????buttonfd?=?open(BUTTON_DEV?O_RDWR);
????????if?(buttonfd?0)?{
????????????ERROR(“open?button?device?error\n“);
????????????return?-1;
????????}
????????
????????eepromfd?=?open(EEPROM_DEV?O_RDWR);
????????if?(eepromfd?0)?{
????????????ERROR(“open?eeprom?device?error\n“);
????????????return?-1;
????????}
#if?0
????????lcdfd?=?open(LCD_DEV?O_RDWR);
????????if?(lcdfd?0)?{
????????????ERROR(“open?lcd?device?error\n“);
????????????return?-1;
????????}
????????gprsfd?=?open(GPRS_DEV?O_RDWR);
????????if?(gprsfd?0)?{
????????????ERROR(“open?gprs?device?error\n“);
????????????return?-1;
????????}
????????zigbeefd?=?open(ZIGBEE_DEV?O_RDWR);
????????if?(zigbeefd?0)?{
????????????ERROR(“open?zigbee?device?error\n“);
????????????return?-1;
????????}
????????if?(init_uart(gprsfd?B115200)?==?-1)?{
????????????ERROR(“init?uart?for?gprs?error\n“);
????????????return?-1;
????????}
????????
????????if?(init_uart(zigbeefd?B115200)?==?-1)?{
????????????ERROR(“init?uart?for?zigbee?error\n“);
????????????return?-1;
????????}
????????
????????if?(gprs_config()?==?-1)?{
????????????ERROR(“config?gprs?center?error\n“);
????????????return?-1;
????????}
#endif?
????????/*?配置溫度傳感器*/
????????ioctl(tempfd?IOCTL_DS18B20_S_BIT?&arg);
????????/*?配置ADC*/
????????adc_config(10?1);
????????
????????return?0;
}
/*?功能:初始化串口?
?*?返回值:0:成功;1:失敗?
?*?參數fd:串口文件描述符,即那個串口
?*?參數speed:波特率
?*?*/
int?init_uart(int?fd?int?speed)
{
????struct?termios???options;
????bzero(&options?sizeof(options));
????cfsetispeed(&options?speed);
????cfsetospeed(&options?speed);
????options.c_cflag?|=?(CS8?|?CREAD);
????options.c_iflag?|=?IGNPAR;
????tcflush(fd?TCIFLUSH);
????tcsetattr(fd?TCSANOW?&options);?
????return?0;
}
/*?功能:配置GPRS短信服務中心
?*?返回值:1:失敗;0:成功
?*?參數:無
?*?*/
int?gprs_config(void)
{
????char?*cmd[]?=?{“AT+CMFG=1\r“
????????????????????“AT+CSCA=\“+8613800100500\“\r“};
????int?i;
????for?(i?=?0;?i?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-03-08?20:14??gprs_security\
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\branches\
?????文件?????????265??2012-10-29?09:42??gprs_security\.git\config
?????文件??????????73??2012-10-29?09:42??gprs_security\.git\desc
?????文件??????????23??2012-10-29?09:42??gprs_security\.git\HEAD
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\hooks\
?????文件?????????452??2012-10-29?09:42??gprs_security\.git\hooks\applypatch-msg.sample
?????文件?????????896??2012-10-29?09:42??gprs_security\.git\hooks\commit-msg.sample
?????文件?????????189??2012-10-29?09:42??gprs_security\.git\hooks\post-update.sample
?????文件?????????398??2012-10-29?09:42??gprs_security\.git\hooks\pre-applypatch.sample
?????文件????????1704??2012-10-29?09:42??gprs_security\.git\hooks\pre-commit.sample
?????文件????????4898??2012-10-29?09:42??gprs_security\.git\hooks\pre-reba
?????文件????????1239??2012-10-29?09:42??gprs_security\.git\hooks\prepare-commit-msg.sample
?????文件????????3611??2012-10-29?09:42??gprs_security\.git\hooks\update.sample
?????文件????????1896??2012-10-29?09:42??gprs_security\.git\index
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\info\
?????文件?????????240??2012-10-29?09:42??gprs_security\.git\info\exclude
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\logs\
?????文件?????????196??2012-10-29?09:42??gprs_security\.git\logs\HEAD
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\logs\refs\
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\logs\refs\heads\
?????文件?????????196??2012-10-29?09:42??gprs_security\.git\logs\refs\heads\master
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\ob
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\ob
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\ob
?????文件????????4852??2012-10-29?09:42??gprs_security\.git\ob
?????文件??????128988??2012-10-29?09:42??gprs_security\.git\ob
?????文件??????????94??2012-10-29?09:42??gprs_security\.git\packed-refs
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\refs\
?????目錄???????????0??2013-03-08?20:14??gprs_security\.git\refs\heads\
............此處省略110個文件信息
- 上一篇:D3 地圖可視化數據美國地圖
- 下一篇:數學形態學方法及應用-崔屹
評論
共有 條評論