欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡

你的位置:首頁 > 測試測量 > 正文

“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦

發布時間:2015-12-18 來源:EDN電子技術設計 責任編輯:wenwei

【導讀】如果你家有小孩,一定能懂我做這個項目的初衷。我們每天都會玩著手機,敲著鍵盤跟朋友聊天,小孩子看見了就想模仿,但出于保護眼睛等一系列考慮,我們又不能讓他們過早的接觸電子設備。所以我就想到,能不能做一個小玩意讓他們也嘗試著學習閱讀和書寫呢?不過項目剛開始時確實挺困難,所以我又不斷添加新功能以保持它對孩子的吸引力。
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
在開始寫教程之前,我想感謝http://www.rinkydinkelectronics.com,我從上面汲取了很多營養,從各種庫到代碼,有了它們我才能玩轉這塊TFT觸摸屏。
 
所需零配件:
 
·Arduino Mega 2560開發板。
 
·一塊3.2英寸的觸摸屏和保護殼,別忘了觸控筆。
 
·一張SD卡,用來保存孩子的涂鴉。
 
·ESP8266 WiFi模塊,以便設備連接互聯網。
 
·DS1703時鐘模塊。
 
·電池適配器(找適合你所用電池的哦)。
 
·一個漂亮的殼子
 
·設定好一個互聯網接入點,這樣即使你不在家也可連上熱點使用設備。
 
·在服務器上創建一個隨時能通過PHP訪問的數據庫。
 
·為不同的孩子創建不同的電郵地址。
 
第一步:連接硬件
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
由于屏幕和外殼占據了Mega 2560的所有接口,所以我不得不在Mega開發板兩邊又焊接了幾個接口,雖然看起來丑了點,但至少管用了。這樣我們準備的 DS1703和ESP8266模塊,甚至電池都可以順利連接了。
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
說到ESP8266 WiFi模塊,這次我算是走了狗屎運,連接時我直接將ESP8266模塊的RX和TX接口連上了Mega開發板上的TX和RX接口,幸運的是,它居然運行無誤。其實這不是正確的連接方法,我推薦你們還是參考下下面這個網頁的連接方法吧:
 
隨后你就可以將觸摸屏連上Mega開發板并套上保護殼了。對了,別忘了插入準備好的SD卡。
 
第二步:載入軟件
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
想要運行該設備,你需要兩個軟件組件。第一個是Arduino Sketch,第二個則是運行在你服務器上的PHP腳本和來自Arduino的HTTP Get請求。ESP8266上使用的HTTP 1.0協議有些過時,用起來有些不舒服,你只能通過它發送HTTP Get請求和HTTP Post請求。所以你需要將來自Arduino的HTTP Get請求轉換成STMP(簡單電子郵件協議)或其他格式,而這正是PHP腳本的一部分。
 
Arduino
 
在Arduino 1.5.6 beta上,該Sketch的運行和測試都進行的很順利,但升級到最新的1.6.0就不行了(出現了TFT校準錯誤)。所以在你加載這個Sketch之前,請對其進行編輯并根據你的互聯網接入點設置相應參數。下面是范例:
 
#define DEST_HOST "www.your_own_host.de"
 
#define SSID_HOME "FritzBoxHOME"
 
#define PASS_HOME "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
 
記住,DEST_HOST并不是你在服務器上的IP地址,所以你的PHP腳本不會在那里運行。在你的根目錄里,Sketch會建立一個名為“Scripts”的文件夾,而你的PHP腳本最終會上傳到這里。
 
SSID_HOME和PASS_HOME則是互聯網接入點的設置。想要通過路由器上網(我用的是德國的Fritz Box路由),你就要進入路由器設置中心對其進行配置。想使用移動熱點的話,你就要進入設置->更多設置->WLAN熱點->移動熱點對其進行配置(安卓系統)。
 
下載了Sketch之后記得先閱讀詳細步驟并做出正確的配置調整。如果一切運行正常,在加載了Sketch之后,你就會看到主界面,上面會顯示鍵盤,一些圖標和WiFi狀態欄(綠色為已連接,紅色則為斷開)。
 
PHP
 
PHP腳本在這個項目中起了很重要的作用,它是Arduino開發板和SMPT服務器之間的接口,你可以通過它收發郵件。它可以將開發板上反饋來的HTTP Get請求轉換成相應的動作,完成閱讀郵件,發送郵件和圖片等工作。
 
[page]
第三步:使用應用程序:用戶和郵件設置
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
用戶
 
該程序可供三個不同用戶使用,每個用戶都可設定自己的頭像(.c文件,和Sketch一起上傳到RAM中)。這個格式比較少見,你可以通過網站JPG_to_C converter將一張32x32的JPG圖片轉換成一個.c文件。
 
創建三個用戶時可使用下列代碼(三個用戶分別為Samira,Kilian和Keanu):
 
#define SENDER_CNT 3
 
//Photo .c Files:
 
extern unsigned int keanu[0x1024];
 
extern unsigned int kilian[0x1024];
 
extern unsigned int samira[0x1024];
 
char *key_sendername[SENDER_CNT] = { "Samira", "Kilian", "Keanu" };
 
unsigned int *icon_sendername[SENDER_CNT] = {samira, kilian, keanu};
 
你在創建用戶時只需修改用戶名和圖片就行了,其他代碼完全相同。
 
更換用戶時,你只需點擊Logged User圖標并選擇要使用的用戶就好。登陸的用戶可以發送郵件或閱讀收到的郵件,每個用戶在SD卡的根目錄上都會有自己專用的信箱文檔,你的郵件和郵件中的附圖都會保存在這里。未來,我想讓該設備能定期掃描郵箱并下載郵件供用戶閱讀。
 
設定郵件發送人和收件人
 
選擇好用戶后,HTTP Get請求就會記錄用戶的相關信息,隨后便會在服務器上生成用戶的郵件地址。
 
想要改變收件人,只需點擊Mail To圖標并在其中進行選擇就好。與上一步相同,設備會記錄收件人的相關信息,然后通過PHP轉換出正確的郵件地址。
 
更多詳細信息請參閱第六步:發送郵件。
 
第四步:使用應用程序:涂鴉
 
想要畫畫,點擊彩虹圖標就行,該圖標在作畫前是紅色的。
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
所有的畫作都會保存在SD卡上,用戶可以找到它們并將其添加到郵件中。
 
由于HTTP 1.0的限制,你無法采用二進制發送圖片,所以孩子的涂鴉會轉換成一種特有格式并保存在一個文本文檔中,發送后服務器便會將其重新轉換為圖片。
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
為了避免發送的圖片體積過于龐大,在屏幕中央右側還會顯示一個彩色圖標,它會根據圖片的大小不斷變色。如果該圖標變紅,就說明圖片體積已達上限,自此SD卡就不會繼續記錄信息了。最大圖片體積為3K,這對孩子的涂鴉來說絕對足夠了。
 
彩色圖標還會充當確認鍵,畫圖完成時你需要點擊它進行確認。隨后彩虹圖標就會顯現出來,這時你就可以將圖片添加進郵件了。如果你暫時不想發送,該圖片會被保存在SD中,隨后你可以通過圖片瀏覽器回看這些圖片。
 
[page]
第五步:使用應用程序:發送郵件
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
發郵件也很簡單,只要點擊信封圖標,就可以發出一封郵件(原始郵件是HTTP Get請求,隨后會轉換為可讀郵件)。如果系統工作正常,發送狀態欄會呈綠色,若WiFi連接出現問題,狀態欄則會變成紅色。
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
HTTP Get請求包含了許多服務器端的郵件信息,包括用戶的姓名和收件人的姓名。而PHP腳本則會收到一條包含請求和配置值的信息。當然,我們必須在PHP腳本上傳到服務器前搞定這些設置,這樣郵件系統才能正常工作。
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
下面是PHP腳本中很有趣的一部分:
 
/*****************************************/
 
/* SEND MAIL */
 
/*****************************************/
 
if( (strlen($send_mail_from) > 0 && strlen($send_mail_to) > 0)
 
|| strlen($get_image) > 0 || strlen($_POST["MailImage"])>0
 
|| strlen($end_image) > 0 || strlen($get_image_name) > 0
 
|| strlen($give_me_image) > 0 )
 
{
 
$handy_light = 0;
 
$to = ''''mama@your_domain.com'''';
 
if( strcmp($send_mail_to, "Papa") == 0 )
 
$to = ''''papa@your_domain.com'''';
 
else if( strcmp($send_mail_to, "Keanu") == 0 )
 
{
 
$to = ''''keanu@your_domain.com'''';
 
$handy_light = 1;
 
}
 
else if( strcmp($send_mail_to, "Kilian") == 0 )
 
{
 
$to = ''''kilian@your_domain.com'''';
 
$handy_light = 1;
 
}
 
else if( strcmp($send_mail_to, "Samira") == 0 )
 
{
 
$to = ''''samira@your_domain.com'''';
 
$handy_light = 1;
 
}
 
else if( strcmp($send_mail_to, "Mami") == 0 )
 
$to = ''''gradnma@hotmail.com'''';
 
else if( strcmp($send_mail_to, "Juanito") == 0 )
 
$to = ''''oncle@hotmail.com'''';
 
else if( strcmp($send_mail_to, "Javier") == 0 )
 
$to = ''''myfriend@gmail.com'''';
 
$subject = ''''De: '''' . $send_mail_from;
 
$message = $mailbody;
 
$headers = ''''From: '''' . $send_mail_from . ''''@your_domain.com'''' . "rn" .
 
''''Reply-To: '''' . $send_mail_from . ''''@your_domain.com'''' . "rn" .
 
''''X-Mailer: PHP/'''' . phpversion();
 
你只需要將我的發件人Mama,Papa等改成你想要的名字就好。
 
mama@your_domain.com
 
papa@your_domain.com.. etc
 
此外你還可以修改郵箱地址。
 
PHP腳本需要獲知是否收件人已經通過PC,手機或Mailduino收到了郵件。只有這樣,它才能決定是否執行對圖片的轉換工作,以便收件人在不同的設備上看到正常的圖片(普通設備會轉換為JPG,Mailduino則會直接讀取.c格式的文檔)。所以,請將PHP變量$handy_light設為true或false(應對不同的收信設備)。
 
[page]
第六步:使用應用程序:接收郵件
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
想閱讀郵件的話,你需要點擊卡車圖標,這樣就能進入郵件界面了。不過屏幕上只會顯示最近的四封郵件,所有收到的郵件都保存在郵箱文檔里。該設備無法讀取采用HTML代碼的郵件,所以在正式使用前我推薦你先在PC上做下測試,將設定改為“僅文本”。
 
想要看看是否收到了新郵件?很簡單,只需點擊主界面上部的卡車圖標就好。只要用戶在兩分鐘內沒有活動,系統就會自動檢查并下載新郵件。在整個過程中,開發板會發送一個HTTP Get請求,隨后PHP腳本便會開始檢查新郵件,所有新郵件都會以較為簡單的格式回傳到Arduino開發板。如果收到了新郵件,界面右下方就會出現一個藍色的M圖標來提醒你。
 
在郵件域中,標準文本呈白色,發送人地址則為紅色。為了保證發送域包含一個已知人的標識符,屏幕上會顯示發送人的頭像。
 
如果郵件內含有圖片,那么收到的郵件會包含圖片的名字,Arduino會通過HTTP Get再次向服務器發起請求,這時設備就會開始新的下載,你就能看到原始的全像素圖片了。此外,你可以通過接收狀態欄來了解下載的狀態。
 
如果郵件內含有圖片,你會在郵件域的右邊看到一片彩虹,點擊它就能打開圖片。
 
PHP配置
 
如果你想隨時查看賬戶,服務器端也有些設置需要改變。來自Arduino的HTTP Get請求包含了賬戶的名字,這些會保存在一個名為$get_mails_for的變量PHP腳本中。請參考下列代碼并修改你想查看的郵件地址和密碼。
 
/*****************************************/
 
/* RECEIVE MAILS */
 
/*****************************************/
 
else
 
{
 
if( strcmp($get_mails_for,"Keanu") == 0 )
 
{
 
$USER_NAME="keanu@your_domain.com";
 
$USER_PASS="A123456b";
 
}
 
else if( strcmp($get_mails_for,"Kilian")==0 )
 
{
 
$USER_NAME="kilian@your_domain.com";
 
$USER_PASS="A123456b";
 
}
 
else if( strcmp($get_mails_for,"Samira") == 0 )
 
{
 
$USER_NAME="samira@your_domain.com";
 
$USER_PASS="A123456b";
 
}
 
else
 
$USER_NAME="default@your_domain.com";
 
echo "Reading Mails for " . $get_mails_for . " from Server with PHPn";
 
$inbox = imap_open ("{". $MAIL_HOST . ":143}INBOX", $USER_NAME, $USER_PASS) or die("Can''''t connect IMAP-Server!");
 
第七步:使用應用程序:圖片瀏覽器
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
用戶的所有畫作都會存儲在SD卡上,只要點擊時鐘圖標左邊的圖標就可進入圖片瀏覽模式,圖片瀏覽器中的圖片會按名字呈九宮格排列。
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
想要看原始大小的圖片,你只需點擊它就行。看完之后,隨便點擊以下圖片就能回到剛剛的瀏覽界面。
 
如上圖所示,手型圖標可以讓你進入下一頁。
 
確認圖標則可以讓你回到主界面。
 
[page]
第八步:時鐘界面
 
“攻城獅”爸比的showtime:為寶貝自制一臺兒童小電腦
 
想要激活該設備的時鐘功能,你需要先對你的DS1307時鐘模塊進行設置。只需加載下列Arduino Sketch并調好時間就行(記得用unix格式):
 
/* T(string_utctime) */
 
#include
 
#include
 
#include // a basic DS1307 library that returns time as a time_t
 
void setup()
 
{
 
Serial.begin(9600);
 
setSyncProvider(RTC.get); // the function to get the time from the RTC
 
if(timeStatus()!= timeSet)
 
Serial.println("Unable to sync with the RTC");
 
else
 
Serial.println("RTC has set the system time");
 
}
 
void loop()
 
{
 
if(Serial.available())
 
{
 
time_t t = processSyncMessage();
 
if(t >0)
 
{
 
RTC.set(t); // set the RTC and the system time to the received value
 
setTime(t);
 
}
 
}
 
digitalClockDisplay();
 
delay(1000);
 
}
 
void digitalClockDisplay(){
 
// digital clock display of the time
 
Serial.print(hour());
 
printDigits(minute());
 
printDigits(second());
 
Serial.print(" ");
 
Serial.print(day());
 
Serial.print(" ");
 
Serial.print(month());
 
Serial.print(" ");
 
Serial.print(year());
 
Serial.println();
 
}
 
void printDigits(int digits){
 
// utility function for digital clock display: prints preceding colon and leading 0
 
Serial.print(":");
 
if(digits < 10)
 
Serial.print(''''0'''');
 
Serial.print(digits);
 
}
 
/* code to process time sync messages from the serial port */
 
#define TIME_MSG_LEN 11 // time sync to PC is HEADER followed by unix time_t as ten ascii digits
 
#define TIME_HEADER ''''T'''' // Header tag for serial time sync message
 
time_t processSyncMessage() {
 
// return the time if a valid sync message is received on the serial port.
 
while(Serial.available() >= TIME_MSG_LEN ){ // time message consists of a header and ten ascii digits
 
char c = Serial.read() ;
 
Serial.print(c);
 
if( c == TIME_HEADER ) {
 
time_t pctime = 0;
 
for(int i=0; i < TIME_MSG_LEN -1; i++){
 
c = Serial.read();
 
if( c >= ''''0'''' && c <= ''''9''''){
 
pctime = (10 * pctime) + (c - ''''0'''') ; // convert digits to a number
 
}
 
}
 
return pctime;
 
}
 
}
 
return 0;
 
}
 
設定好你的DS1307后,只需點擊主界面上的時鐘圖標就可以用該設備查看當前時間了。
 
一個DIY的兒童電腦就完成啦,大家快試試吧!
 



推薦閱讀:

藍牙圈須知:BR/EDR 和 Bluetooth Smart的十大區別
發布即引來眾多吐槽,小米平板2真的只是看起來很美?
一款獨一無二的鋰電螺絲刀拆解評測:不止是價格感人
電池新貴小米彩虹5號:是浪得虛名,還是實至名歸?
智能家居迎來Touch時代,拯救無數“腕管綜合征”患者!



 
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉

欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡
久久亚洲一区二区三区四区| 久久久久高清精品| 久久99精品国产麻豆不卡| 亚洲国产精品影院| 亚洲精品国产a| 亚洲欧美视频在线观看视频| 亚洲国产电影在线观看| 久久久久国产成人精品亚洲午夜| 久久久综合精品| 国产午夜亚洲精品理论片色戒 | 99re在线视频这里只有精品| 成人黄色一级视频| 91女人视频在线观看| 中文字幕一区二区三区在线播放 | 国产麻豆91精品| 国产一区二区三区免费观看| 成人做爰69片免费看网站| 成人激情视频网站| 在线观看不卡一区| 337p亚洲精品色噜噜| 精品精品国产高清a毛片牛牛 | 国产麻豆精品theporn| 成人a区在线观看| 欧美三级午夜理伦三级中视频| 欧美日韩精品久久久| 欧美xxxxx裸体时装秀| 国产欧美日韩在线| 亚洲国产日韩一区二区| 蜜桃视频一区二区三区在线观看| 国产在线精品视频| 欧美性淫爽ww久久久久无| 欧美成va人片在线观看| 亚洲男女一区二区三区| 免费高清不卡av| 91看片淫黄大片一级| 日韩一级高清毛片| 一区二区视频免费在线观看| 精品一区二区三区久久| 91原创在线视频| 日韩欧美不卡一区| 一二三区精品福利视频| 成人在线综合网站| 欧美一激情一区二区三区| 亚洲视频在线观看三级| 国产又黄又大久久| 欧美美女直播网站| 中文字幕在线免费不卡| 国产一区二区三区免费看| 欧洲精品一区二区| 中文字幕一区二| 国产毛片精品一区| 制服丝袜一区二区三区| 亚洲国产中文字幕| 99在线精品视频| 久久蜜桃一区二区| 免费看精品久久片| 91麻豆精品国产91久久久久久久久| 国产欧美日韩在线| 激情综合色播激情啊| 欧美男生操女生| 亚洲蜜臀av乱码久久精品蜜桃| 国产成人精品www牛牛影视| 日韩一区二区三区四区| 五月婷婷另类国产| 欧美日韩国产片| 亚洲一区二区三区中文字幕在线| 99久久夜色精品国产网站| 国产精品三级电影| 99久久综合狠狠综合久久| 国产视频一区在线观看| 国产91富婆露脸刺激对白| 久久久久久久国产精品影院| 激情五月婷婷综合网| 久久先锋影音av鲁色资源网| 精品制服美女丁香| 精品国产伦一区二区三区观看方式| 日本亚洲免费观看| 日韩午夜精品电影| 精品午夜一区二区三区在线观看| 日韩欧美中文一区| 精东粉嫩av免费一区二区三区| 日韩精品一区二区三区中文不卡 | 欧美高清www午色夜在线视频| 亚洲成人久久影院| 欧美不卡视频一区| 国产精品自拍在线| 亚洲色图视频网站| 6080午夜不卡| 国产一区二区视频在线| 国产精品久久久久久久岛一牛影视 | 欧美电影免费观看高清完整版在线观看 | 在线视频欧美精品| 午夜精品成人在线| 欧美精品一区二区三区在线| 成人网在线免费视频| 一区二区三区日韩欧美精品| 欧美精品亚洲一区二区在线播放| 免费成人深夜小野草| 国产精品嫩草99a| 欧美在线观看视频一区二区三区| 青椒成人免费视频| 中文字幕一区在线| 4438成人网| heyzo一本久久综合| 亚洲一区在线观看免费观看电影高清| 日韩一级片在线观看| 国产xxx精品视频大全| 性做久久久久久免费观看 | 色综合天天综合狠狠| 午夜精品aaa| 国产精品福利影院| 日韩欧美成人一区二区| 色94色欧美sute亚洲线路一ni| 美女被吸乳得到大胸91| 一区二区三区在线免费观看| 精品久久久网站| 欧美色大人视频| 粉嫩高潮美女一区二区三区| 午夜伦理一区二区| **网站欧美大片在线观看| 欧美大片顶级少妇| 欧美日韩亚洲综合一区二区三区| 大白屁股一区二区视频| 老司机午夜精品99久久| 亚洲二区在线视频| 国产精品久久久久久久久久久免费看| 69堂国产成人免费视频| 欧美在线播放高清精品| 91网上在线视频| 国产传媒一区在线| 国产综合色视频| 久久精品国产99久久6| 天使萌一区二区三区免费观看| 亚洲人成亚洲人成在线观看图片| 精品久久久久久久久久久久久久久 | 国产美女在线精品| 久久福利视频一区二区| 午夜av区久久| 亚洲二区视频在线| 一区二区在线电影| 综合激情成人伊人| 亚洲同性gay激情无套| 国产精品麻豆视频| 国产精品成人免费在线| 中文字幕乱码久久午夜不卡 | 欧美老肥妇做.爰bbww| 欧美午夜精品理论片a级按摩| 91网上在线视频| 一本一道综合狠狠老| 日本福利一区二区| 欧美日韩小视频| 这里只有精品免费| 日韩三级精品电影久久久 | 亚洲蜜桃精久久久久久久| 亚洲桃色在线一区| 亚洲一卡二卡三卡四卡| 亚洲成人免费看| 另类中文字幕网| 国产高清在线精品| a美女胸又www黄视频久久| 色悠悠久久综合| 欧美日韩免费观看一区二区三区| 欧美日韩在线直播| 日韩丝袜情趣美女图片| 久久久久久久综合日本| 国产精品剧情在线亚洲| 亚洲曰韩产成在线| 狠狠v欧美v日韩v亚洲ⅴ| 成人免费视频国产在线观看| 91小视频在线| 欧美一级艳片视频免费观看| 久久午夜色播影院免费高清| 亚洲色图欧洲色图| 日韩综合小视频| 国产二区国产一区在线观看| 色婷婷亚洲一区二区三区| 91精品欧美久久久久久动漫| 国产午夜精品一区二区三区嫩草| 亚洲卡通欧美制服中文| 免费亚洲电影在线| 99久久99久久精品国产片果冻| 欧美伊人久久久久久久久影院 | 亚洲精品久久久蜜桃| 婷婷久久综合九色综合伊人色| 狠狠色狠狠色综合| 色综合久久88色综合天天免费| 欧美大片免费久久精品三p| 最新成人av在线| 国产综合久久久久影院| 在线免费不卡电影| 欧美精品一区视频| 亚洲高清免费观看高清完整版在线观看| 久久爱另类一区二区小说| 欧洲亚洲精品在线| 中文字幕第一区第二区| 久久99精品国产麻豆婷婷洗澡| 日本韩国一区二区三区| 欧美国产欧美综合| 麻豆精品一区二区| 欧美日韩精品一区视频|