串口调试成功了,插到arduino串口上面,Demo App检测不到~~
本帖最后由 飘云 于 2016-11-16 01:53 编辑如题~
用的Demo App 用串口板子调试一切正常,插到arduino并用了机智云智能灯程序(Product Key已修改),手机不能识别到设备。。。
是不是要自己编写个App才行?
不能识别设备。首先检测硬件是否存在故障。然后看看arduino里的PK和APP还有云端的PK是否一致。最后再检测网络环境是否良好。是否在同一个局域网下 boboP 发表于 2016-11-16 10:08
不能识别设备。首先检测硬件是否存在故障。然后看看arduino里的PK和APP还有云端的PK是否一致。最后再检测网 ...
用的demo app。没有自己写app
串口调试都OK。硬件没问题
智能灯的程序???是那个程序??? 本帖最后由 飘云 于 2016-11-17 22:24 编辑
yCat 发表于 2016-11-16 18:17
智能灯的程序???是那个程序???
智能灯也没成功,所以我自己随便建立了一个测试程序:
刷固件参考:
http://club.gizwits.com/forum.php?mod=viewthread&tid=3551
串口测试:
官方Demo App连接测试 - OK:
基于开源代码:
我自己App 按照文档要求,修改了ID参数:
===========================================================
插到arduino上面:
无论用Demo App 还是 我自己的App 均无法联机~~
arduino 初始化wifi代码:
void KEY_Handle(void)
{
/*长按是指按住按键3s以上 */
switch (gokit_keydown())
{
case KEY1_SHORT_PRESS:
break;
case KEY1_LONG_PRESS:
GizWits_D2WResetCmd();
digitalWrite(LED_PORT2, HIGH);
delay(5000); // wait for a second
break;
case KEY2_SHORT_PRESS:
GizWits_D2WConfigCmd(SoftAp_Mode);
NetConfigureFlag = 1;
digitalWrite(LED_PORT2, HIGH);
delay(1000); // wait for a second
break;
case KEY2_LONG_PRESS:
GizWits_D2WConfigCmd(AirLink_Mode);
NetConfigureFlag = 1;
digitalWrite(LED_PORT2, HIGH);
delay(1000);
digitalWrite(LED_PORT2, LOW);
delay(1000);
break;
default:
break;
}
}
也就是说,现在我只用串口调试成功了WiFi模块~~~~ 后续都是失败的。。
顶顶~~~~ 飘云 发表于 2016-11-17 02:04
智能灯也没成功,所以我自己随便建立了一个测试程序:
你的arduino只有这段代码还是? 本帖最后由 飘云 于 2016-11-18 15:12 编辑
BlueTaro 发表于 2016-11-18 14:39
你的arduino只有这段代码还是?
。。。不是,这段是让WiFi进入配置的部分
上下文是这样的,其他的都是和微信宠物的源代码一样~~~
arduino 初始化关键代码片段:
void KEY_Handle(void)
{
/*长按是指按住按键3s以上 */
switch (gokit_keydown())
{
case KEY1_SHORT_PRESS:
break;
case KEY1_LONG_PRESS:
GizWits_D2WResetCmd();
digitalWrite(LED_PORT2, HIGH);
delay(5000);
digitalWrite(LED_PORT2, LOW);
break;
case KEY2_SHORT_PRESS:
GizWits_D2WConfigCmd(SoftAp_Mode);
NetConfigureFlag = 1;
digitalWrite(LED_PORT2, HIGH);
delay(1000);
digitalWrite(LED_PORT2, LOW);
break;
case KEY2_LONG_PRESS:
GizWits_D2WConfigCmd(AirLink_Mode);
NetConfigureFlag = 1;
digitalWrite(LED_PORT2, HIGH);
delay(1000);
digitalWrite(LED_PORT2, LOW);
delay(1000);
break;
default:
break;
}
}
void GoKit_Init()
{
#if(DEBUG==1)
//自定义引脚通信SoftwareSerial初始
mySerial.begin(9600);
#endif
pinMode(LED_PORT, OUTPUT);
pinMode(LED_PORT2, OUTPUT);
// 按键初始
pinMode(KEY1, INPUT_PULLUP); //KEY1 上拉输入
pinMode(KEY2, INPUT_PULLUP); //KEY2 上拉输入
memset(&ReadTypeDef, 0, sizeof(ReadTypeDef));
memset(&WriteTypeDef, 0, sizeof(WriteTypeDef));
GizWits_init(sizeof(ReadTypeDef_t));
}
void setup()
{
GoKit_Init();
#if (DEBUG==1)
mySerial.println(F("GoKit initOK!"));
mySerial.print(F("freeMemory()="));
mySerial.println(freeMemory());
#endif
}
void loop()
{
uint8_t ret = 0;
uint8_t buf;
KEY_Handle();
ret = GizWits_MessageHandle(buf, sizeof(WriteTypeDef_t));
if (ret == 0)
{
memcpy((uint8_t *)&WriteTypeDef, buf, sizeof(WriteTypeDef_t));
GizWits_ControlDeviceHandle();
GizWits_DevStatusUpgrade((uint8_t *)&ReadTypeDef, 10 * 60 * 1000, 1, NetConfigureFlag);
}
if (gaterSensorFlag != 0)
{
GizWits_GatherSensorData();
gaterSensorFlag = 0;
}
GizWits_DevStatusUpgrade((uint8_t *)&ReadTypeDef, 10 * 60 * 1000, 0, NetConfigureFlag);
//digitalWrite(LED_PORT2, HIGH);
//delay(1000); // wait for a second
//digitalWrite(LED_PORT2, LOW);
//delay(1000); // wait for a second
}
页:
[1]