Merge branch 'master' of ssh://master.iot-yun.club:2280/raspberrypi
2 files modified
1 files added
New file |
| | |
| | | [common] |
| | | id="RPi.3B-GP-0002" |
| | | |
| | | # 树莓派连接的外设信息,0:禁用或未连接 其他: 使能或相关硬件连接的Pin管脚(wPI模式) |
| | | [hardware] |
| | | |
| | | # 是否使能硬件支持,如果是在X86上调试该程序,可以把该选项设置为0 |
| | | enable=1 |
| | | |
| | | # 控制蜂鸣器,0: 禁用 !0:蜂鸣器连接树莓派的wPI管脚编号, PIN#12(wPI 1#) can be used as PWM |
| | | beep_pin=1 |
| | | |
| | | # 蜂鸣器响的次数: 0: 不响 >0: 蜂鸣器响的次数 |
| | | beep_times=2 |
| | | |
| | | # RGB三色LED, 全0:禁用 !0: 三色LED相关引脚连接树莓派的wPI管脚编号 |
| | | red_pin=24 |
| | | green_pin=25 |
| | | blue_pin=23 |
| | | |
| | | # 是否使能 DS18b20 温度传感器模块,0:禁用 1:使能 |
| | | #ds18b20=1 |
| | | |
| | | # 是否使能 SHT2X 温湿度传感器模块,0:禁用 1:使能 |
| | | sht2x=1 |
| | | |
| | | [logger] |
| | | |
| | | # 日志记录文件 |
| | | file=/tmp/mqttd.log |
| | | |
| | | # 日志级别: 0:Disable 1:Fatal 2:ERROR 3:warnning 4:Normal 5:Debug 6:Infor 7:Trace |
| | | level=4 |
| | | |
| | | # 日志回滚大小 |
| | | size=1024 |
| | | |
| | | |
| | | [broker] |
| | | |
| | | # broker 服务器地址和端口号 |
| | | hostname="master.iot-yun.club" |
| | | port=10883 |
| | | |
| | | # broker 认证连接的用户名和密码 |
| | | username="lingyun" |
| | | password="lingyun-emb" |
| | | |
| | | # broker给subsciber和publisher发送PING报文保持 keepalive 的时间周期,单位是秒 |
| | | keepalive=30 |
| | | |
| | | |
| | | # Qos0: 发送者只发送一次消息,不进行重试,Broker不会返回确认消息。在Qos0情况下,Broker可能没有接受到消息 |
| | | # Qos1: 发送者最少发送一次消息,确保消息到达Broker,Broker需要返回确认消息PUBACK。在Qos1情况下,Broker可能接受到重复消息 |
| | | # Qos2: Qos2使用两阶段确认来保证消息的不丢失和不重复。在Qos2情况下,Broker肯定会收到消息,且只收到一次 |
| | | |
| | | [publisher] |
| | | |
| | | pubTopic="$Sys/Studio/Uplink" |
| | | pubQos=0 |
| | | |
| | | # Publisher上报传感器数据的周期,单位是秒 |
| | | interval=300 |
| | | |
| | | [subsciber] |
| | | |
| | | subTopic="$Sys/Studio/Downlink" |
| | | subQos=0 |
| | | |
| | | |
| | | |
| | |
| | | #include "ds18b20.h" |
| | | #include "sht20.h" |
| | | #include "tsl2561.h" |
| | | #include "beep.h" |
| | | |
| | | #define OFF 0 |
| | | #define ON 1 |
| | |
| | | else |
| | | snprintf(msg, sizeof(msg), "{ \"id\":%s, \"temp\":\"%.2f\" }", ctx->id, temp); |
| | | |
| | | rv = mosquitto_publish(mosq, NULL, ctx->pubTopic, strlen(msg)+1, msg, ctx->pubQos, retain); |
| | | rv = mosquitto_publish(mosq, NULL, ctx->pubTopic, strlen(msg), msg, ctx->pubQos, retain); |
| | | if( rv ) |
| | | { |
| | | log_err("Publisher broadcast message '%s' failure: %d\n", msg, rv); |
| | |
| | | else |
| | | snprintf(msg, sizeof(msg), "{ \"id\":%s, \"temp\":\"%.2f\", \"RH\":\"%.2f\" }", ctx->id, temp, rh); |
| | | |
| | | rv = mosquitto_publish(mosq, NULL, ctx->pubTopic, strlen(msg)+1, msg, ctx->pubQos, retain); |
| | | rv = mosquitto_publish(mosq, NULL, ctx->pubTopic, strlen(msg), msg, ctx->pubQos, retain); |
| | | if( rv ) |
| | | { |
| | | log_err("Publisher broadcast message '%s' failure: %d\n", msg, rv); |
| | |
| | | { |
| | | if( strcasestr(value, "on") ) |
| | | { |
| | | log_nrml("Turn buzzer on [%d] times\n", hwconf->beep_times); |
| | | turn_passive_beep(ON, BEEP_FREQ); |
| | | } |
| | | else if( strcasestr(value, "off") ) |
| | | { |
| | | turn_passive_beep(OFF, BEEP_FREQ); |
| | | } |
| | | else if( strcasestr(value, "music") ) |
| | | { |
| | | play_little_star(); |
| | | } |
| | | } |
| | | |