文档章节

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
粉丝 71
博文 486
码字总数 51658
作品 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-service providers (LIBCLOUD-781, GITHUB-666) ......

淡漠悠然
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
2018中国汽车联网国际峰会

当下,联网汽车乃是物联网系统的重要组成。汽车联网是实现自动驾驶和智慧交通系统的基础条件。促使汽车联网发展的主要因素涉及到人们日益增长的对便捷性的需求,联网更加便利。不仅如此,原来...

蟠桃会会议平台
2018/07/05
0
0
行业标准正式冻结,车联网行业爆点可期

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

行者武松
2018/03/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Flink 幕后之内存管理

Flink 幕后之内存管理 引言 目前很多大数据处理框架,例如Hadoop、Spark、Storm、Flink等。它们都基于JVM语言开发(java or scala),运行在JVM上。为了加速合并或者排序(基于磁盘的方式通常...

moyiguke
28分钟前
3
0
风起云涌,看云计算如何赋能媒体行业?

在媒体行业的转型升级中,云计算的出现多维度促进了媒体融合,打破传统媒体行业与新媒体的界限和竞争格局,在媒体素材管理、移动端功能演进的过程中扮演着重要角色,颠覆了传统媒体新闻采编、...

七牛云
31分钟前
1
0
Mybatis开发遇到问题汇总

mybatis 中![CDATA[...]] 在今天使用Mybatis的xml文件中写sql语句时写入了一些特殊字符 如 < > & 等,但解析xml文件的时候会被转义,事实上并不希望它被转义,可以使用<![CDATA[ ]]>. 这是XML...

wangwei2134
39分钟前
3
0
参数验证 @Validated 和 @Valid 的区别

来源:blog.csdn.net/qq_27680317/article/details/79970590 整编:Java技术栈(公众号ID:javastack) Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范......

Java技术栈
42分钟前
1
0
JS实现继承的几种方式

前言 JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。 JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如下: ...

不负好时光
46分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部