文档章节

adrduino 使用wido联网

jingshishengxu
 jingshishengxu
发布于 2016/05/30 17:24
字数 302
阅读 31
收藏 0

 

#include <Adafruit_CC3000.h>
#include <ccspi.h>
#include <SPI.h>
#include <string.h>
#include "utility/debug.h"

#define WiDo_IRQ   7
#define WiDo_VBAT  5
#define WiDo_CS    10
Adafruit_CC3000 WiDo = Adafruit_CC3000(WiDo_CS, WiDo_IRQ, WiDo_VBAT,
                                         SPI_CLOCK_DIVIDER); // you can change this clock speed

#define WLAN_SSID       "Tenda_XXXXX"           // cannot be longer than 32 characters!
#define WLAN_PASS       "12345678"

// Security can be WLAN_SEC_UNSEC, WLAN_SEC_WEP, WLAN_SEC_WPA or WLAN_SEC_WPA2
#define WLAN_SECURITY   WLAN_SEC_WPA2
#define TIMEOUT_MS  2000

void setup(){
  
  Serial.begin(115200);
  /* Initialise the module */
  Serial.println(F("\nInitialising the CC3000 ..."));
  if (!WiDo.begin())
  {
    Serial.println(F("Unable to initialise the CC3000! Check your wiring?"));
    while(1);
  }
    
  /* NOTE: Secure connections are not available in 'Tiny' mode!
     By default connectToAP will retry indefinitely, however you can pass an
     optional maximum number of retries (greater than zero) as the fourth parameter.
  */
  
  Serial.println(F("Connecting Router/AP"));
  if (!WiDo.connectToAP(WLAN_SSID, WLAN_PASS, WLAN_SECURITY)) {
    Serial.println(F("Failed!"));
    while(1);
  }
  
  Serial.println(F("Router/AP Connected!"));
  
  /* Wait for DHCP to complete */
  Serial.println(F("Request DHCP"));
  while (!WiDo.checkDHCP())
  {
    delay(100); // ToDo: Insert a DHCP timeout!
  }  
}

void loop(){
  
  static Adafruit_CC3000_Client tcpClient;
  static unsigned long heartRate = millis();
  
  if(!tcpClient.connected()){
    Serial.println("Try to connect the Local Server");
    tcpClient.close();
    
    /* Set the target ip address and connection port */
    uint32_t ip = WiDo.IP2U32(192,168,0,12);
    tcpClient = WiDo.connectTCP(ip, 8080);
    
    if(!tcpClient.connected()){
      Serial.println(F("Couldn't connect to server! Make sure TCP Test Tool is running on the server."));
      while(1);
    }
  }
  else if(millis() - heartRate > 1000){
    heartRate = millis();  // Update time stamp of the microcontroller system
    
    char clientString[30];
    sprintf(clientString, "%s%d%s", "Wido heartRate: ",heartRate/1000," s\r\n");
    
    Serial.println(clientString);
    tcpClient.fastrprintln(clientString);

  }
  
  /* Read data until either the connection is closed, or the timeout is reached. */ 
  unsigned long lastRead = millis();
  while (tcpClient.connected() && (millis() - lastRead < TIMEOUT_MS)) {
    while (tcpClient.available()) {
      char c = tcpClient.read();
      Serial.print(c);
      lastRead = millis();
      
      // Disable sending message for a moment
      heartRate = millis();
    }
  }
}
 

© 著作权归作者所有

共有 人打赏支持
jingshishengxu
粉丝 72
博文 478
码字总数 50532
作品 0
杭州
部门经理
Apache libcloud 1.0.0-pre1 发布

Apache libcloud 1.0.0-pre1 发布,更新信息如下: General Introduction of container based drivers for Docker, Rkt and Container-as-a-serviceproviders(LIBCLOUD-781, GITHUB-666)[An......

淡漠悠然
2016/01/27
1K
0
Ceph 0.84 开发版发布,分布式文件系统

Ceph 0.84 开发版发布了,下载地址: ceph-0.84.tar.bz2 ceph-0.84.tar.gz 该版本包含:365 commits,值得关注的改进有: ceph-conf: flush log on exit (Sage Weil) ceph-dencoder: refact......

oschina
2014/08/20
1K
2
Ceph 0.85 发布,分布式文件存储系统

Ceph 0.85 发布了,值得关注的改进有: ceph-disk: do not inadvertantly create directories (Owne Synge) ceph-disk: fix dmcrypt support (Sage Weil) ceph-disk: linter cleanup, loggin......

oschina
2014/09/09
1K
0
行业标准正式冻结,车联网行业爆点可期

随着LTE-V的V2V标准冻结,车联网商用化进程加快,车联网行业或将迎来一轮爆发。 今年9月26日,在3GPP会议上,LTE-V的V2V标准正式冻结,并计划于2017年3月完成V2X的其他核心协议,车联网平台有望...

行者武松
03/07
0
0
互联网安全保护技术措施规定

第一条 为加强和规范互联网安全技术防范工作,保障互联网网络安全和信息安全,促进互联网健康、有序发展,维护国家安全、社会秩序和公共利益,根据《计算机信息网络国际联网安全保护管理办法...

伽罗kapple
2016/06/08
31
0

没有更多内容

加载失败,请刷新页面

加载更多

线性一致性和 Raft

作者:沈泰宁 在讨论分布式系统时,共识算法(Consensus algorithm)和一致性(Consistency)通常是讨论热点,两者的联系很微妙,很容易搞混。一些常见的误解:使用了 Raft [0] 或者 paxos ...

TiDB
29分钟前
0
0
兄弟连区块链教程以太坊源码分析core-state-process源码分析

## StateTransition状态转换模型 /* The State Transitioning Model 状态转换模型 A state transition is a change made when a transaction is applied to the cu......

兄弟连区块链入门教程
31分钟前
0
0
linear-gradient渐变中的参数

在看张鑫旭的博客 遇到渐变数值后面带参数不太理解 @supports (-webkit-mask: none) or (mask: none) { .box { border: none; background: linear-gradient(to bottom, #34538...

红羊在厦门
32分钟前
2
0
Python yagmail模块自动发邮件

Python发邮件yagmail模块 import yagmail#连接服务器yag=yagmail.SMTP('xx@163.com','yy','smtp.163.com')#邮箱正文contents=["test","email send"]#发送邮件#yag.send('...

小白兔_球球
33分钟前
1
0
pada mysql

CREATE SCHEMA `exchange` DEFAULT CHARACTER SET utf8mb4 ;

qwfys
42分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部