![Linkit One和RGB LED:5个步骤 Linkit One和RGB LED:5个步骤](https://img.gwsigeps.com/img/circuits/linkit-one-and-rgb-leds-2.jpg)
目录:
这是我的第一个指示,在这个教学中,我将向您展示如何使用Linkit One无线(WiFi)控制RGB LED。
供应:
第1步:零件清单
- Linkit One
- RGB LED(共阳极)
- 面包板
- 电线
- 个人计算机
第2步:RGB LED
我使用共用阴极配置的RGB LED,红色,蓝色和绿色的阴极连接到引脚1,引脚2和引脚3。
第3步:Micro USB
接下来,您需要在Linkit One和PC之间连接micro USB,并从Linkit One官方站点安装必要的驱动程序。
第4步:代码
使用arduino IDE将代码上传到电路板,您需要修改IDE以使其支持Linkit One电路板。同时输入您的网络ssid和密码。
/*
WiFi Web服务器
将宏WIFI_AP,WIFI_PASSWORD和WIFI_AUTH更改为您自己的路由器设置。
* / #include #include #include #include
#define WIFI_AP“ssid”#define WIFI_PASSWORD“password”#define WIFI_AUTH LWIFI_WPA //根据您的WiFi AP配置从LWIFI_OPEN,LWIFI_WPA或LWIFI_WEP中选择//我会首先尝试LWIFI_WPA //如果LWIFI_WEP失败//如果失败LWIFI_OPEN(并找出你为邻居提供WiFi的原因!)
int serverPort = 80; LWiFiServer服务器(serverPort); int LED = 13;
void setup(){pinMode(LED,OUTPUT); LWiFi.begin(); Serial.begin(115200); //继续重试,直到连接到AP Serial.println(“正在连接到AP”); while(0 == LWiFi.connect(WIFI_AP,LWiFiLoginInfo(WIFI_AUTH,WIFI_PASSWORD))){digitalWrite(LED,HIGH);延迟(100); digitalWrite(LED,LOW);延迟(100); digitalWrite(LED,HIGH);延迟(100); digitalWrite(LED,LOW);延迟(600);
} digitalWrite(LED,HIGH); printWifiStatus(); Serial.println(“Start Server”); server.begin(); Serial.println(“Server Started”); digitalWrite(LED,LOW); }
int loopCount = 0;
void loop(){//将你的主代码放在这里,重复运行:String str =“”; String url =“”; int i;延迟(500); loopCount ++; LWiFiClient客户端= server.available(); if(client){Serial.println(“new client”); // http请求以空行结束boolean currentLineIsBlank = true; while(client.connected()){if(client.available()){//我们基本上忽略了客户端请求,但等待HTTP请求结束char c = client.read(); Serial.print(C); if(c!=' n')str + = c; if(c ==' n'){// Serial.println(str); if(str.startsWith(“GET”)){url = str.substring(4,str.lastIndexOf(“”)); Serial.print( “URL:”); Serial.print(URL); Serial.println( “:”); } str =“”; }
if(c ==' n'&& currentLineIsBlank){Serial.println(“send response”); //发送标准的http响应头client.println(“HTTP / 1.1 200 OK”); client.println(“Content-Type:text / html”); client.println(“Connection:close”); //完成响应client.println()后,将关闭连接; if(url!= String(“favicon.ico”)){client.println(“”); client.println(“ n n
n
“); IPAddress ip = LWiFi.localIP(); client.println(”
“); client.println(”告诉你的设备做什么!打开LED。
关闭LED。
“); // i = digitalRead(LED); url.toLowerCase(); if(url == String(”/?q = on“)){digitalWrite(LED,HIGH); client.println(”LED on
“);} else if(url == String(”/?q = off“)){digitalWrite(LED,LOW); client.println(”LED off“
“);} else {client.println(”什么都不做
“);} client.println(”
n
“); client.println(); break;}} if(c ==' n'){//你正在开始一个新行currentLineIsBlank = true;} else if(c!=' r'){ //你在当前行上得到一个字符currentLineIsBlank = false;}}} //给网页浏览器时间接收数据延迟(50);
//关闭连接:Serial.println(“close connection”); client.stop(); Serial.println(“客户端断开连接”); }}
void printWifiStatus(){//打印您所连接的网络的SSID:Serial.print(“SSID:”); Serial.println(LWiFi.SSID());
//打印WiFi盾牌的IP地址:IPAddress ip = LWiFi.localIP(); Serial.print(“IP地址:”); Serial.println(IP);
Serial.print(“子网掩码:”); Serial.println(LWiFi.subnetMask());
Serial.print(“网关IP:”); Serial.println(LWiFi.gatewayIP());
//打印接收信号强度:long rssi = LWiFi.RSSI(); Serial.print(“信号强度(RSSI):”); Serial.print(RSSI); Serial.println(“dBm”); }
第5步:运行时间
现在打开一个Web浏览器并连接到Linkit One的IP地址,你应该得到控制来控制RGB LED。