6月5日是什么日| 血糖高什么水果可以吃| 江西景德镇有什么好玩的地方| 水瓶座与什么星座最配| 割包皮挂什么科| 什么东西能美白| 面肌痉挛吃什么药效果好| 二战时期是什么时候| 隔离霜有什么作用| 储备是什么意思| 包公代表什么生肖| 曹操是什么帝| 幸灾乐祸是什么意思| 阴道痒用什么药好| 七月十一日是什么日子| 米线配菜都有什么| 阴虚火旺吃什么| 蜂蜜与什么食物相克| 十点半是什么时辰| 黄瓜为什么苦| prc是什么意思| 职称有什么用| au999是什么金| husky是什么牌子| 蛇进家是什么意思| 左心室高电压什么意思| 冲是什么意思| 调教是什么| 志趣相投是什么意思| 惊涛骇浪是什么意思| 二型血糖高吃什么药好| 鸡胗炒什么菜好吃| 晶莹的近义词是什么| 天梭手表属于什么档次| 对数是什么意思| 看脖子应该挂什么科| 什么是工作日| mpa是什么意思呀| 穷的生肖指什么生肖| 绮罗是什么意思| 幽门螺旋杆菌用什么药| 本来无一物何处惹尘埃是什么意思| 艾滋病潜伏期有什么症状| 丈二和尚摸不着头脑是什么意思| hla是什么意思| 五行大林木是什么意思| 焦虑症吃什么中药| kamagra是什么药| 疾厄宫是什么意思| 为什么睡觉出虚汗| 上火吃什么| 橘红是什么东西| 耳朵蝉鸣是什么原因引起的| 脑干诱发电位检查是检查什么| 砚台是什么| 什么是985| 七月份适合种什么蔬菜| 宝宝说话晚是什么原因造成的| swissmade是什么意思| 捕风捉影是什么意思| 为什么有的人怎么吃都不胖| 乙肝病毒是什么| 长期口臭吃什么药| 服役是什么意思| 回门带什么礼物| 舌头短是什么原因| 豆芽不能和什么一起吃| 梦见牙套掉了是什么意思| 三国是什么朝代| 什么牌子的助听器最好| CA是什么激素| 胡言乱语是什么意思| 龙傲天是什么意思| blossom是什么意思| 右眼流泪是什么原因| 阿佛洛狄忒是什么神| 心脏大是什么病严重吗| 三国时期是什么朝代| 取环需要做什么检查| o型血不能和什么血型的人生孩子| 吃降压药有什么副作用| 痔疮用什么药最好| 梦见别人盖房子是什么预兆| 天外飞仙是什么意思| 黄色分泌物是什么原因| 什么时候着床| 办理结婚证需要什么材料| 血糖高的人早餐吃什么最好| 什么叫轻度脂肪肝| 膝盖咔咔响是什么原因| zara是什么品牌| 胰腺炎为什么不能同房| 94年什么生肖| 为什么没有广东大学| 染发膏用什么能洗掉| 农历闰月有什么规律| 刘欢属什么生肖| 头臀长是什么意思| 考试前吃什么早餐| 片仔癀为什么这么贵| 阴道放屁是什么原因| 推手是什么意思| 罗网是什么意思| 喝冰水牙疼是什么原因| 失眠吃什么药好| 贯众是什么植物| 胰腺ca是什么意思| 五液是指什么| 中午喜鹊叫有什么预兆| 热伤风吃什么药好得快| 点头之交是什么意思| 看乙肝挂什么科| 两点一线是什么意思| 11月16日是什么星座| 多此一举是什么意思| 济公是什么罗汉| 梦见做春梦是什么意思| 敲锣打鼓是什么生肖| 甲亢有什么症状表现| 刀厄痣是什么意思| 糖尿病人晚餐吃什么最好| 梦见已故朋友什么预兆| 去侍庙有什么禁忌| 鲜为人知什么意思| 胆囊结晶是什么意思| 发烧反反复复是什么原因| 丑什么意思| 上曼月乐环后要注意什么| 2002年是什么年| 什么的菜地| 多元是什么意思| 五险都有什么| 什么是肾炎| 为什么新疆人不吃猪肉| 艺考是什么| 夏枯草有什么作用| 博士的学位是什么| 番茄可以做什么菜| 心率过快有什么危害| 六月六日是什么星座| 1893年是什么年| 当局是什么意思| 双开是什么意思| 吃什么代谢快有助于减肥| 出来混迟早要还的什么意思| 肝内小钙化灶是什么意思| fila是什么品牌| 狐臭是什么味道| 检查hpv需要注意什么提前注意什么| 宫内孕和宫外孕有什么区别| 苯是什么味道| 查生化是查些什么| 骨折吃什么| 兔爷是什么意思| 去医院检查艾滋病挂什么科| 雍是什么意思| 什么人生病不看医生| 口腔溃疡吃什么好的快| 营养不良会导致身体出现什么症状| 什么是回迁房| 舌尖痛吃什么药| 冠脉cta是什么检查| 阴虚火旺吃什么药| 2007年属什么| 二郎腿为什么叫二郎腿| 老年人睡眠多是什么原因| 卤牛肉用什么部位| 脾虚吃什么药| cd4是什么意思| 伤风胶囊又叫什么| 黄帝内经讲的是什么| 口干口渴是什么原因| 来月经吃什么水果| 财神是什么生肖| 月经肚子疼是什么原因| 五月三十一号是什么星座| 猪精是什么| 吃什么可以来月经最快最有效| 弥月之喜是什么意思| 漆皮是什么皮| 刺梨什么时候成熟| 腹泻恶心想吐是什么原因| 女人喝胶原蛋白有什么好处| 辐射对人体有什么伤害| pvd是什么意思| 月经正常颜色是什么色| 杨树林是什么品牌| 一个家庭最重要的是什么| 蚰蜒是什么| 宫颈机能不全是什么原因造成的| 菜板什么木材最好| 什么东西补钾| 黄历今天是什么日子| 流感吃什么药| 飞字五行属什么| 乌鱼子是什么意思| 代谢慢是什么原因| 喝什么对肾好| 左卵巢囊性回声什么意思| ng是什么单位| 导火索是什么意思| 口腔溃疡什么症状| 策字五行属什么| 滋阴润燥是什么意思| 姊妹是什么意思| 5.19是什么星座| 不拉屎是什么原因| 小猫什么时候可以洗澡| 深红色是什么颜色| 夏天可以做什么| 痛风能吃什么| 湿气重喝什么茶| 咖啡有什么好处和坏处| 8月24号是什么星座| 什么颜色的猫最旺财| afp检查是什么意思| 基层是什么意思| 便秘应该挂什么科室| 什么东西能去脸上的斑| 吃红萝卜有什么好处| 圣是什么生肖| 什么的沙滩| p2大于a2什么意思| 跳蚤最怕什么| 男人断眉有什么说法| 耳加贵念什么| 珠海有什么好玩的| 麂皮绒是什么材质| 黄瓜籽有什么功效| 琉璃是什么材料| 吃二甲双胍为什么会瘦| 吃什么降羊水最快| 白酒不能和什么一起吃| 为什么吃荔枝会上火| 胰腺炎吃什么食物| 闹心是什么意思啊| 人做梦是什么原因| 小鱼爱吃什么| 大血小板比率偏高是什么原因| 血脂高会导致什么后果| ltp是什么意思| 晚饭吃什么最健康| 白猫进家有什么预兆| bp是什么职位| rna是什么意思| 病毒感染发烧吃什么药| 手指关节肿大是什么原因| 憋不住大便是什么原因造成的| 丙肝病毒抗体阴性是什么意思| 戛然而止是什么意思| mc是什么意思啊| 肝胆脾挂什么科| 什么是主动脉夹层| 巨蟹座什么性格| 变性乙醇是什么东西| 脚底疼痛是什么原因| 非甾体抗炎药是什么意思| 阳刃是什么意思| 急腹症是什么意思| 阴阳代表什么数字| 夏天可以做什么| ipo过会是什么意思| 尿蛋白高吃什么药| 蚕豆不能和什么一起吃| 百度
打印
[CW32L083系列]

石家庄室外健身器材工厂,健身器材多少钱,健身设备

[复制链接]
1454|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lulugl|  楼主 | 2023-7-7 07:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lulugl 于 2023-7-7 09:08 编辑

#申请原创# #有奖活动#@21小跑堂
【系统功能】
CW32l083为主控制的无线终端数据收发。运行国产RT-Thread操作系统。主要功能为实现用E31-TTL-50接收各个模块发送上来的数据,解析数据,分析数据,显示数据,并实现信息的显示,以及异常情况的显示、警告功能。
无线终端主要以cw32L031为主控,采集sht30温湿度传感器数据,通过E31-TTL-50无线模块将数据上传。实现5微安的待机电流的超低功耗。
【功能模块】
主机:
  • 接收模块:接收无线终端模块发送的温湿度数据,解析数据后,更新模块数据。
  • 巡检模块:定时巡检各个无线终端的数据,判定工作状况、更新显示、报警标志。
  • 显示模块:根据各个模块的工作状态,生成为示数据,用TFT屏展示。
报警模块:驱动pwm模块,装载pwm重载值,发出警示声音。

无线终端:
  • 温湿采集模块:采集sht30数据。
  • 发送模块:将数据打包,通过无线发送。
  • 休眠模块:发送完数据后进入深度休眠状态,由AWT模块定时唤醒。
【硬件】
主机:
  • CW32L083VxTx StartKit REV01开发板。
  • ST7735TFT显示屏。
  • E31-TTL-50无线串口模块。
无线终端:
  • cw32l031开发板
  • Sht30温湿度传感器。
  • E31-TTL-50无线串口模块。
  • 可充电锂电池。
【开发环境】
  • 代码编译环境采集ubuntu20.4;
  • 代码编辑工具为vscode 1.79.2;
  • 交叉编译器为arm-nano-eabi-gcc;
  • 固件库为cw32提供的固件库;
  • gcc启动文件与链接由作者在cortex-M0+的其他软件上移植过来;
  • 下载器为CW32配送的wch-link;
  • 代码下载软件为pyocd;
  • 调式工具为gdb。
本次开发板的编译环境、工具均采用开源工具。
【操作系统】
本工程的主控,作者移植了RTT-Thread Nano 3.15版本。RTT作为一款国产开源免费的操作系统可以提供强大的功能,为CW32的性能发挥提供强力的支持。
【程序流程图】
  • 主机端由RTT开启两个主要任务,用于数据显示与巡检,同时利用串口中断来实时处理接收的数据。GTIM定时开启PWM任务,来驱动开发板板载的BEEP。流程图如下:

  • 无线终端采用单线流程,主要是采集数据后进入休眠,做到极简才能实现最好的功耗控制。流程图如下:

【原理图】
  • 无线端终采集:

  • 主机端:

【程序设计】
无线采集端
IIC初始化,采用模拟I2C主要代码是对
主机端
  • 主机端我们处理数据的核心为sht30数据,声明结构体如下:
typedefstruct_sht30_data
{
    uint32_tID;
    inttemp; //温度值
    inttemp_upper_limit; //温度值上限
    inttemp_lower_limit; //温度值下限
    uint16_thumi; //湿度
    uint16_thumi_upper_limit; //湿度上限
    uint16_thumi_lower_limit; //湿度上限
    uint32_t  time_tick;      //更新数据计时
    enum_sht30_errcodesht_errcode;
} SHT30_infor;
主要用于存储数据的核心,以后所有的任务都是针对这个模块进行。2、同时声明一个枚举,来确定测量点的状态:
enum_sht30_errcode{
    NORMAL=0,
    ABNORMAL,
    OFFLINE,
};
3、先约定好默的一些参数,最大传感器个数,温湿度报警上下限,巡检次数初值:
#define maxID 2
#define MaxTime 300
#define HUMI_LOWER 500
#define HUMI_UPPER 750
#define TMPE_LOWER 100
#define TMPE_UPPER 300
到此我们的数据结构设计完成。
4、时钟的初始化,由于主机端需要高速处理数据这里配置为64MHz:
voidRCC_cofiguration(void)
{
    RCC_HSI_Enable(RCC_HSIOSC_DIV6);
    // 使能PLL,通过HSI倍频到 64MHz
    RCC_PLL_Enable(RCC_PLLSOURCE_HSI, 8000000, 8); //HSI 默输出8MHz
    ///< 当使用的时钟源HCLK大于24M,小于等于48MHz:设置FLASH 读等待周期为2 cycle
    ///< 当使用的时钟源HCLK大于48M,小于等于72MHz:设置FLASH 读等待周期为3 cycle
    __RCC_FLASH_CLK_ENABLE();
    FLASH_SetLatency(FLASH_Latency_3);
    //时钟切换到PLL
    RCC_SysClk_Switch(RCC_SYSCLKSRC_PLL);
    RCC_SystemCoreClockUpdate(64000000);
}
5、主机端的无线接收使用了uart1,端口选择了PE8与PE9作为TXD、RXD,初始化代码为:
voidE31_UART_Init(void)
{
    uint32_tPCLK_Freq;
    GPIO_InitTypeDefGPIO_InitStructure= {0};
    UART_InitTypeDefUART_InitStructure= {0};

    PCLK_Freq=SystemCoreClock>>pow2_table[CW_SYSCTRL->CR0_f.HCLKPRS];
    PCLK_Freq>>=pow2_table[CW_SYSCTRL->CR0_f.PCLKPRS];
    // 调试串口使用UART3
    //  PA8->TX
    //  PA9<-RX
    // 时钟使能
    RCC_AHBPeriphClk_Enable(E31_UART_GPIO_CLK, ENABLE);
    E31_UART_APBClkENx(E31_UART_CLK, ENABLE);
    // 先设置UART TX RX 复用,后设置GPIO的属性,避免口线上出现毛刺
    E31_UART_AFTX;
    E31_UART_AFRX;
    GPIO_InitStructure.Pins=E31_UART_TX_GPIO_PIN;
    GPIO_InitStructure.Mode=GPIO_MODE_OUTPUT_PP;
    GPIO_Init(E31_UART_TX_GPIO_PORT, &GPIO_InitStructure);
    GPIO_InitStructure.Pins=E31_UART_RX_GPIO_PIN;
    GPIO_InitStructure.Mode=GPIO_MODE_INPUT_PULLUP;
    GPIO_Init(E31_UART_RX_GPIO_PORT, &GPIO_InitStructure);
    UART_InitStructure.UART_BaudRate=E31_UART_BaudRate;
    UART_InitStructure.UART_Over=UART_Over_16;
    UART_InitStructure.UART_Source=UART_Source_PCLK;
    UART_InitStructure.UART_UclkFreq=PCLK_Freq;
    UART_InitStructure.UART_StartBit=UART_StartBit_FE;
    UART_InitStructure.UART_StopBits=UART_StopBits_1;
    UART_InitStructure.UART_Parity=UART_Parity_No ;
    UART_InitStructure.UART_HardwareFlowControl=UART_HardwareFlowControl_None;
    UART_InitStructure.UART_Mode=UART_Mode_Rx|UART_Mode_Tx;
    UART_Init(E31_UARTx, &UART_InitStructure);   
    //优先级,无优先级分组
    NVIC_SetPriority(E31_UART_IRQ, 0);
    //UARTx中断使能
    NVIC_EnableIRQ(E31_UART_IRQ);
}
6、同时配置中断函数,主要功能是判断是否接到了帧属,如果接收到帧尾则把数据交给回调函数进行处理,代码如下:
voidUART1_UART4_IRQHandler(void)
{
    /* USER CODE BEGIN */
    uint8_tTxRxBuffer;
    if(UART_GetITStatus(CW_UART1, UART_IT_RC) !=RESET)
    {
        TxRxBuffer=UART_ReceiveData_8bit(CW_UART1);

        if(e31_rx_cnt<E31_RX_MAXLEN)
        {
            if ((TxRxBuffer==0x0A) && (e31_rx_state==1))
            {
                e31_rx_state=2;
                e31_exp_data();
            }
            elseif ((TxRxBuffer==0x0D) && (e31_rx_state==0))
            {
                e31_rx_state=1;
            }
            elseif (e31_rx_state==0)
            {
                e31_rx_buff[e31_rx_cnt] =TxRxBuffer;
                e31_rx_cnt++;
            }

        }
        else
        {
            e31_rx_cnt=0;
            e31_rx_state=0;
        }
        UART_ClearITPendingBit(CW_UART1, UART_IT_RC);
    }
    /* USER CODE END */
}
7、同时回调函数,为处理与解析数据更新到sht30数据之中:
voide31_exp_data(void)
{
    inttemp;
    uint16_thumi;
    uint32_tID;
    if(e31_rx_state==2)
    {
        if(e31_rx_cnt==14)
        {
            temp=e31_rx_buff[10]<<8|e31_rx_buff[11];
            humi=e31_rx_buff[12]<<8|e31_rx_buff[14];
            ID=  e31_rx_buff[6]<<24|e31_rx_buff[7]<<16|e31_rx_buff[8]<<8|e31_rx_buff[9];
            updata_sht30(temp, humi, ID);
            rt_kprintf("ID:%X, temp:%d, humi:%d\r\n", ID, temp, humi);
        }
    }
    e31_rx_cnt=0;
    e31_rx_state=0;
}
8、ST7735的驱动,驱动采集模拟SPI进行驱动,详细的驱动见工程源码包。
9、PWM驱动,pwm选用PA6为pwm输出端,初始化为1KHz的输出来驱动板载的蜂鸣器。在初始化驱动后,我们装载最大的装截时,占空比为100%,使得蜂鸣器停止,在后面的需要输入报警声后,调整为50%的占空比,来实现蜂鸣器的报警声:
voidinit_beep(void)
{
    GTIM_InitTypeDefGTIM_InitStruct= {0};

    __RCC_GTIM1_CLK_ENABLE();   // GTIM2时钟使能
    /* PA6 PWM 输出 */
    __RCC_GPIOA_CLK_ENABLE();
    PA06_AFx_GTIM1CH1();
    PA06_DIR_OUTPUT();
    PA06_DIGTAL_ENABLE();


    GTIM_InitStruct.Mode=GTIM_MODE_TIME;
    GTIM_InitStruct.OneShotMode=GTIM_COUNT_CONTINUE;
    GTIM_InitStruct.Prescaler=GTIM_PRESCALER_DIV2;
    // GTIM_InitStruct.ReloadValue = 60100UL - 1;    // PWM频率为 48M/60100=800Hz, SPWM周期 = 800/2/1000= 0.4Hz
    GTIM_InitStruct.ReloadValue=32000UL-1;    // PWM频率为 64M/2/64000=1000Hz, SPWM周期 = 800/2/1000= 0.4Hz
    GTIM_InitStruct.ToggleOutState=DISABLE;
    GTIM_TimeBaseInit(CW_GTIM1, >IM_InitStruct);
    GTIM_OCInit(CW_GTIM1, GTIM_CHANNEL1, GTIM_OC_OUTPUT_PWM_HIGH);
    GTIM_SetCompare1(CW_GTIM1, 32000-1);
    GTIM_Cmd(CW_GTIM1, ENABLE);
}
voidalarm_ON(void)
{
    GTIM_SetCompare1(CW_GTIM1, 16000-1);;
}
voidalarm_OFF(void)
{
    GTIM_SetCompare1(CW_GTIM1, 32000-1);
}
10、按照程序流程图,我们创建了两个任务,一个为巡检任务来实现对传感器模块的数据监控,并实理更新工作状态,代码如下:
/* 巡检任务 */
voidthread_sht30_check_entry(void*parameter)
{
    inti;
    uint8_talarm_sta;
    while(1)
    {   alarm_sta=0;
        for(i=0; i<maxID; i++)
        {
            if(sht30.time_tick==0)
            {
                //发送离线的警告
                sht30.sht_errcode=OFFLINE;
                sht30.temp=0;
                sht30.humi=0;
                alarm_sta++;
            }
            elseif (sht30.temp<sht30.temp_lower_limit\
                     ||sht30.temp>sht30.temp_upper_limit\
                     ||sht30.humi<sht30.humi_lower_limit\
                     ||sht30.humi>sht30.humi_upper_limit )
            {
                sht30.sht_errcode=ABNORMAL;
                sht30.time_tick--;
                alarm_sta++;
            }
            else
            {
                sht30.sht_errcode=NORMAL;
                sht30.time_tick--;
            }

        }
        if(alarm_sta>0)
        {
            alarm_ON();
        }
        else
        {
            alarm_OFF();
        }
        rt_thread_mdelay(500);
    }
}
/* 巡检任务 */
voidsht30_check(void)
{
    rt_thread_init(&tid_check_sht30,
                    "sht30_check",
                    thread_sht30_check_entry,
                    RT_NULL,
                    &thread_sht30_check_stack[0],
                    sizeof(thread_sht30_check_stack),
                    THREAD_PRIORITY-1, THREAD_TIMESLICE);
    rt_thread_startup(&tid_check_sht30);
}
12、显示任务,为定时按照传感器的工作状态来实现数据的展示,主要是根据三个状态、以及温湿度是否超过或者低于限值来显示不同的颜色,代码如下:
/* 线程 显示 的入口函数 */
staticvoidthread_lcd_entry(void*parameter)
{
    sht30_data_Init();
    charbuff_temp[15];
    charbuff_humi[15];
    uint16_ttemp_background_color, temp_font_color;
    uint16_thumi_background_color, humi_font_color;
    inty_offset=0;
    inti=0;
    while (1)
    {
        y_offset=46;
        for(i=0;i<maxID;i++)
        {
            rt_kprintf("sensorID:%d  stata: %d", i+1, sht30.sht_errcode);
            y_offset=y_offset+i*70;
            sprintf(buff_temp,"%d%d.%d",sht30.temp/100, sht30.temp/10%10, sht30.temp%10);
            sprintf(buff_humi,"%d%d.%d",sht30.humi/100, sht30.humi/10%10, sht30.humi%10);  
            switch (sht30.sht_errcode)
            {
            caseNORMAL:
                temp_background_color=GRAY0;
                temp_font_color=BLUE;
                humi_background_color=GRAY0;
                humi_font_color=BLUE;
                break;
            caseOFFLINE:
                temp_background_color=GRAY2;
                temp_font_color=BLUE;
                humi_background_color=GRAY2;
                humi_font_color=BLUE;
                sprintf(buff_temp, "    ");
                sprintf(buff_humi, "    ");
                break;      
            caseABNORMAL:
                if(sht30.humi<sht30.humi_lower_limit||sht30.humi>sht30.humi_upper_limit)
                {
                    humi_background_color=YELLOW;
                    humi_font_color=BLACK;
                }
                else
                {
                    humi_background_color=GRAY0;
                    humi_font_color=BLUE;
                }
                if(sht30.temp<sht30.temp_lower_limit||sht30.temp>sht30.temp_upper_limit)
                {
                    temp_background_color=YELLOW;
                    temp_font_color=BLACK;
                }
                else
                {
                    temp_background_color=GRAY0;
                    temp_font_color=BLUE;
                }
                break;      
            default:
                break;
            }
            Gui_DrawFont_GBK16(90,y_offset,temp_font_color,temp_background_color,buff_temp);        //更新显示
            Gui_DrawFont_GBK16(90,y_offset+20,humi_font_color,humi_background_color,buff_humi);

        }

        rt_thread_mdelay(10000);
    }

}
/* 显示任务 */
voidlcd_show(void)
{
    rt_thread_init(&tid_show_sht30,
                    "lcd show",
                    thread_lcd_entry,
                    RT_NULL,
                    &thread_lcd_show_stack[0],
                    sizeof(thread_lcd_show_stack),
                    THREAD_PRIORITY-1, THREAD_TIMESLICE);
    rt_thread_startup(&tid_show_sht30);
}
【工程效果】
采集终端搭建型1:

采集终端搭建型2:

无线数据采集端能实现的采集数据,并按照设定的时间实现超远距离、超低功耗的长时间运行,经测量功耗情况如下:

从上面的数据我们可以看出,待机电流为7.5微安左右,在每两分钟启用一次数据上报,最在工作电流为46.5mA,平均电流为110uA,平均功率为362微瓦。可以推算一下,1000mAH的电池可以持续供电100天左右。如果我们采用在温湿度正常的范围内缓存,每一个小时做一次数据上传,那么预计可以延长30倍的工作时间,那就是10年左右的待机。
主机端,我们可以实时的监控无线数据采集工作站的实现状况。

离线的警示:

温度异常:

【项目总结】
经过半个月的项目开发,主要实现了RT-Thread Nano移植,温湿度传感器、无线串口模块、LCD屏的驱动。实现了一套温湿度监测系统的基本功能。
【项目拓展计划】
下一步,将继续完善监控系统。
  • 进行数据储存。
  • 数据的历史数据查看。
  • 连接互联网,把数据分发给服务器。
【视频展示】




沙发
forgot| | 2023-7-10 10:56 | 只看该作者
赞,国产RT-Thread操作系统还没跑过,楼主方案做的很好,路过学习一下
板凳
lulugl|  楼主 | 2023-7-10 16:00 | 只看该作者
forgot 发表于 2023-7-10 10:56
赞,国产RT-Thread操作系统还没跑过,楼主方案做的很好,路过学习一下

感谢大佬的关注。
地板
szt1993| | 2023-7-11 21:38 | 只看该作者
楼主方案挺好的方便,能够高速运行相关的各个软件模块,模块化设计更方便
5
lulugl|  楼主 | 2023-7-11 22:44 | 只看该作者
szt1993 发表于 2023-7-11 21:38
楼主方案挺好的方便,能够高速运行相关的各个软件模块,模块化设计更方便 ...

多谢大佬的肯定,程序还在继续搭建。后面要实现串口的数据配置,对接互联网等。
6
tpgf| | 2023-8-7 09:33 | 只看该作者
这个睡眠时间根据需要进行设置的吧 可以灵活改变吗
7
lulugl|  楼主 | 2023-8-7 09:41 | 只看该作者
tpgf 发表于 2023-8-7 09:33
这个睡眠时间根据需要进行设置的吧 可以灵活改变吗

可以设置,但是这在这次设计里面没有设置。可以添加按键或者出厂时调整。
8
guijial511| | 2023-8-7 09:54 | 只看该作者
这是一个串口无线模块?
9
lulugl|  楼主 | 2023-8-7 09:57 | 只看该作者
guijial511 发表于 2023-8-7 09:54
这是一个串口无线模块?

对的,以前用过的无线串口模块。
10
qcliu| | 2023-8-7 10:15 | 只看该作者
这个是只用来显示温度和湿度 而没有通过温湿度来控制什么是吗
11
lulugl|  楼主 | 2023-8-7 10:26 | 只看该作者
qcliu 发表于 2023-8-7 10:15
这个是只用来显示温度和湿度 而没有通过温湿度来控制什么是吗

有个pwm控制蜂鸣器的,来提醒有温度异常。
12
lulugl|  楼主 | 2023-8-7 10:28 | 只看该作者
qcliu 发表于 2023-8-7 10:15
这个是只用来显示温度和湿度 而没有通过温湿度来控制什么是吗

目前还是主动监测为主,因为冷链设备已经有自己的控制系统。如果有其他的用途,可以增加控制的任务即可。因为L083是用rtt多任务操作系统来的。
13
drer| | 2023-8-7 11:41 | 只看该作者
温湿度测量系统其实并不涉及到反馈环是吧
14
lulugl|  楼主 | 2023-8-7 11:52 | 只看该作者
drer 发表于 2023-8-7 11:41
温湿度测量系统其实并不涉及到反馈环是吧

看实际的应用场景吧,目前我们用的产品,以数据收集为主,有一个项目有高低温后强制断电的功能,但是是很极端的场景下面。一般数值超过阈值,就会有人工干预的。
15
wiba| | 2023-8-7 12:14 | 只看该作者
如何发现长期接收不到数据从而进行弥补呢
16
lulugl|  楼主 | 2023-8-7 13:41 | 只看该作者
wiba 发表于 2023-8-7 12:14
如何发现长期接收不到数据从而进行弥补呢

接收端如果长期接收不到数据,就会发出离线警告。要保证发送的质量需要提供良好的天线。我的设备长期工作,目前还没有出现离线的情况。当然在发送数据时,最好采集一下电池的供电电压。这样方便提醒定期更换电池。当然在生产环境,肯定要增加许多的功能,比如增加看门狗等等,当然这样会增加功耗。在电池供电理想的情况,我们会增加数据的采集频率。
17
kxsi| | 2023-8-7 20:59 | 只看该作者
这种通过无线传输的 需要有握手的数据吗
18
coshi| | 2023-8-7 21:32 | 只看该作者
drer 发表于 2023-8-7 11:41
温湿度测量系统其实并不涉及到反馈环是吧

这个可不一定 得具体看是什么用途了
19
gangong| | 2025-08-04 21:27 | 只看该作者
非常棒,谢谢分享
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

180

主题

825

帖子

12

粉丝
黄曲霉菌是什么颜色 水瓶是什么象星座 ab制是什么意思 什么人没有国籍 零八年属什么生肖
崽崽是什么意思 失眠挂什么科室 渗湿是什么意思 声音沙哑是什么原因 为什么光放屁
脑梗是什么病 脯氨酸氨基肽酶阳性是什么意思 星期三左眼皮跳是什么预兆 牡丹是什么季节开的 三个毛念什么字
屁眼疼痛什么原因 画饼充饥是什么意思 调理牛肉是什么意思 什么是佝偻病有什么症状 阴沉木是什么木头
腰间盘突出用什么药hcv9jop0ns2r.cn 3月10日是什么星座hcv8jop0ns1r.cn 277是什么意思hcv8jop5ns9r.cn 刷牙时牙龈出血是什么原因hcv8jop0ns8r.cn 泛醇是什么hcv8jop2ns5r.cn
什么样的河流hcv9jop2ns3r.cn 突然心慌是什么原因hcv8jop7ns7r.cn 生理曲度存在是什么意思hcv9jop0ns0r.cn 大象又什么又什么hcv7jop6ns2r.cn 婴幼儿积食会有什么症状hcv9jop1ns8r.cn
左腹部疼是什么原因hcv9jop1ns7r.cn 儿童腮腺炎吃什么药hcv7jop5ns5r.cn 重丧是什么意思hcv8jop2ns9r.cn 什么是玄学hcv9jop3ns6r.cn 板楼是什么意思hcv8jop5ns6r.cn
什么是拘役dajiketang.com 梦见水是什么预兆hcv8jop5ns3r.cn 面瘫是什么引起的hcv9jop2ns0r.cn 鼻炎吃什么药好hcv9jop1ns6r.cn 宫缩是什么原因引起的hcv8jop9ns7r.cn
百度