点灯科技的 滑块参数Slider,如何从设备端传给手机APP端呢
点灯科技的 滑块参数Slider,如何从设备端传给手机APP端呢我想设计一个滑块组件,控制8266设备端PWM占空比的输出,现在APP端可以控制8266的占空比了。但是,当8266在运行过程中,APP如果关闭了,再次打开,手机端就不会呈现8266滑块的值的数据,而是0,很不方便,想利用类似【Number1.print(counter);//向APP发送数据】,在APP端打开时,用心跳包的方式,把滑块值,发送到手机APP上,
程序如下【 slider1.print(i);//向APP发送数据】
//心跳包数据,大约59秒左右发送一次
void heartbeat()
{
slider1.print(i);//向APP发送数据
// HUMI.print(humi_read);
// TEMP.print(temp_read);
}
但是编译过程中就报错了,
全部程序在下面
#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define Slider_1 "SliderKey1"
#include <Blinker.h>
/*******此处修改*******/
char auth[] = "c15abcb194d9";//秘钥
char ssid[] = "cym";//WiFi名称
char pswd[] = "19137426";//WiFi密码
// 新建组件对象
BlinkerButton Button1("key");
BlinkerButton Button2("key2");
BlinkerNumber Number1("num-abc");
BlinkerSlider Slider1("ran-cym");//新建一个滑块 对象
int i=0,j=0;
//滑块1执行的程序
void slider1_callback(int32_t value)//滑块回调函数
{
i=1023-value;//【value】的值就是滑块传递进来的值
//BLINKER_LOG("i =", i);
analogWrite(2, i); //写入占空比的函数
//slider1.print(i);//向APP发送数据
}
//心跳包数据,大约59秒左右发送一次
void heartbeat()
{
slider1.print(i);//向APP发送数据
// HUMI.print(humi_read);
// TEMP.print(temp_read);
}
//
int counter = 0;
// 按下按键1即会执行该函数
void button1_callback(const String & state)
{ i=i+50;
if(i>=1000){i=1000;}
//analogWrite(2, i); //把最新的占空比写入程序(占空比为0-1023)
BLINKER_LOG("get button state: ", state);
//digitalWrite(2, !digitalRead(LED_BUILTIN));
}
// 按下按键2即会执行该函数
void button2_callback(const String & state)
{
i=i-50;
if(i<=0){i=0;}
analogWrite(2, i); //把最新的占空比写入程序(占空比为0-1023)
BLINKER_LOG("get button state: ", state);
//digitalWrite(2, !digitalRead(LED_BUILTIN));
}
// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);//向串口发送数据
counter++;
Blinker.vibrate();//向app发送震动数据,手机会震动
Number1.print(counter);//向APP发送数据
}
void setup() {
// 初始化串口
Serial.begin(115200);
#if defined(BLINKER_PRINT)
BLINKER_DEBUG.stream(BLINKER_PRINT);
#endif
// 初始化有LED的IO
pinMode(2, OUTPUT);
analogWrite(2, 1023-400);//pwm信号输出
// 初始化blinker
Blinker.begin(auth, ssid, pswd);
Blinker.attachData(dataRead);
Button1.attach(button1_callback);//注册按键回调函数
Button2.attach(button2_callback);//注册按键回调函数
Slider1.attach(slider1_callback);//注册滑块回调函数
}
void loop() {
Blinker.run();
}
请参考例程blinker-library/Slider_WiFi.ino at master · blinker-iot/blinker-library (github.com)
//心跳包数据,大约59秒左右发送一次
void heartbeat()
{
slider1.print(i);//向APP发送数据
// HUMI.print(humi_read);
// TEMP.print(temp_read);
}
这个slider1首字母大小写错了!定义的是Slider1 哈?滑块模组可以从MCU端发送数据给APP端?这······闻所未闻啊:L xiongjiaxiao 发表于 2022-1-7 22:38
哈?滑块模组可以从MCU端发送数据给APP端?这······闻所未闻啊
我记得根本就没这样的函数,点灯APP滑块模组的数据是不能被MCU端更改的 xiongjiaxiao 发表于 2022-1-7 22:39
我记得根本就没这样的函数,点灯APP滑块模组的数据是不能被MCU端更改的
您好,是可以的,参见例程 点灯官方 发表于 2021-6-8 12:13
请参考例程blinker-library/Slider_WiFi.ino at master · blinker-iot/blinker-library (github.com)
...
请问该如何将点灯app里滑块的数据发送至mcu中,并用于编程中参数的设置
页:
[1]