試著讓LinkIt ONE連接家裡的WiFi無線路由器,然後連接到聯發科網站(www.mediatek.com),取回首頁內容。
裝上WiFi天線,別跟GSM天線搞錯了,也別裝錯孔。
#include <LWiFi.h>
#include <LWiFiClient.h>
#define BAUDRATE 19200
#define WIFI_NAME "__SSID__" // 填入WiFi AP網路名稱SSID
#define WIFI_PASSWD "__password__" // 填入密碼
#define URL "www.mediatek.com"
LWiFiClient cli; // 客戶端
void setup(){
Serial.begin(BAUDRATE);
LWiFi.begin(); // 初始化WiFi模組
}
void loop(){
if(Serial.available()){
char d = Serial.read();
switch(d){
case 'c':{ // 採用WPA認證模式,另有connect與connectWEP
if(LWiFi.connectWPA(WIFI_NAME, WIFI_PASSWD) > 0){
Serial.println("Connect ok");
}
else{
Serial.println("Connect fail");
}
}
break;
case 'g':{ // 連接網站,送出HTTP請求
Serial.println("Connecting to website...");
cli.connect(URL, 80);
cli.println("GET / HTTP/1.1");
cli.println("Host: " URL);
cli.println("Connection: close");
cli.println();
}
break;
}
}
while(cli.available()){
int x;
x = cli.read(); // 讀取
if(x < 0)
break;
Serial.print((char) x); // 印出到序列埠
}
}
結果如下,我發現LWiFi連接時,不一定一次就成功。
參考資料:
- WiFi - Mediatek Linkit API Reference,API參考文件WiFi的部份。
請問有方法使用wifi取得網站資訊像天氣時間等嗎?
ReplyDelete因為他好像只能取得原始碼而已...
謝謝
哪個網站呢?
Delete如果該網站沒有提供REST API之類的存取介面,那當然就只能取得原始碼,然後自己想辦法解析。
yahoo的天氣之類的,因為我自己不太會架網站,想用現有的資源來實現,謝謝。
Delete有的,Yahoo有提供天氣的API,
Deletehttps://developer.yahoo.com/weather/
喔喔!! 謝謝您!!
Delete不過我看了一下這個網站,有些不太懂
1. 這是架設一個app來使用嗎? 這樣的話要怎樣應用在開發板上?
2. 您有這方面的使用範例可以參考嗎?(像這篇一樣)
不好意思,目前初學還在慢慢摸索
喔喔!! 謝謝您!!
Delete不過我看了一下這個網站,有些不太懂
1. 這是架設一個app來使用嗎? 這樣的話要怎樣應用在開發板上?
2. 您有這方面的使用範例可以參考嗎?(像這篇一樣)
不好意思,目前初學還在慢慢摸索
要在開發板撰寫程式,透過HTTP來存取遠端的網站,其形式通常都是REST API,
Delete可參考這篇
http://yehnan.blogspot.tw/2015/03/linkit-onemediatek-cloud-sandboxled.html
謝謝您,我在參考看看!!
Delete您好,可以問一下他能連的網址有限制嗎?
Delete我用wifi能連到http://weather.yahooapis.com卻不能連到http://weather.yahooapis.com/forecastrss?w=2306179
他不就是該網站的一個子頁面嗎?
是啊,就是該網站提供的某頁面。
Delete你碰到什麼問題?錯誤訊息?
c.connect(SITE_URL, 80)
Delete這邊會fail,回傳的值都是0,試了幾次都會這樣。
不好意思,我問題解決了,連到子頁面要改用httpclient的library
Delete用http.get(weather.yahooapis.com, /forecastrss?w=2306179);
謝謝您的幫助~
可以請問樓上是怎麼解決的嗎
Delete那個要怎麼改><
這種方式應該也可以
Deletec.connect("weather.yahooapis.com", 80);
c.println("GET /forecastrss?w=2306179 HTTP/1.1");
c.println("Host: " SITE_URL);
c.println("Connection: close");
你好,請問有藍牙與手機連結的分享嗎?
ReplyDelete謝謝^^
請看官方的使用者手冊
Deletehttps://labs.mediatek.com/site/global/developer_tools/mediatek_linkit/documentation/index.gsp
LinkIt ONE Developer’s Guide
謝謝分享!
ReplyDelete你好,想請問如果要用LinKit ONE 連到Parse Sever該如何做呢??
ReplyDelete沒做過。orz
Delete謝謝葉大。
Delete我以為可以不要用他提供的雲端服務,用自己架設的雲端伺服器
當然可以。
Delete是不是就需要雲端伺服器的API,因為我在網路上只有看到Parse提供給Arduino YUN這塊板子的SDK。
Delete如果沒有提供給Linkit ONE的話,是不是就要換一個?還是有其他方法可以用?
如果Linkit ONE連到的網頁需要登入帳號密碼,請問該怎麼讓Linkit one登入呢?
就使用最基本的REST API
Deletehttp://docs.parseplatform.org/rest/guide/
需要登入帳號密碼的話呢?
Delete看對方使用哪種認證方式,
Delete有些可把帳號密碼寫在程式裡,
有些要使用額外的程式庫,進行認證。
This comment has been removed by the author.
ReplyDelete