chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于OpenHarmony的智慧牧場(chǎng)方案:生物運(yùn)動(dòng)軌跡跟蹤篇

電子發(fā)燒友開(kāi)源社區(qū) ? 來(lái)源:未知 ? 2022-11-25 09:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前文回顧

《智慧牧場(chǎng)之生物姿態(tài)檢測(cè)篇》

《智慧牧場(chǎng)之生物心率檢測(cè)篇》

1. 背景知識(shí)

1.1牧場(chǎng)定位的意義

在智慧牧場(chǎng)解決方案中,實(shí)時(shí)檢測(cè)牲畜的活動(dòng)狀況是非常重要的環(huán)節(jié)?,F(xiàn)在已經(jīng)不是放牛和牧羊犬的時(shí)代了。面臨大范圍牧場(chǎng)上牲畜走失,尋找困難,過(guò)度放牧導(dǎo)致草場(chǎng)退化等問(wèn)題,通過(guò)穿戴式的生物跟蹤部件,可以有效解決以上的問(wèn)題。

當(dāng)大量牲畜散布在地面上時(shí),牧場(chǎng)管理員往往發(fā)現(xiàn)很難跟蹤正在發(fā)生的事情。需要一個(gè)系統(tǒng)來(lái)確定牲畜在任何給定時(shí)間的位置和行駛的距離。此外,跟蹤系統(tǒng)也會(huì)防止任何類型的盜竊,因?yàn)槟翀?chǎng)管理員可以使用跟蹤報(bào)告來(lái)定位被盜牲畜。

1.2室外定位技術(shù)比較

目前的室外定位技術(shù),大體上分為如下幾種類別:

信號(hào)載體 典型定位方式 定位精度 不足
北斗/GPS衛(wèi)星民用領(lǐng)域 3個(gè)觀測(cè)方程式求解位置 10米級(jí) 遮擋影響較大
蜂窩移動(dòng)網(wǎng)絡(luò)GSM 基于TC-OFODM信號(hào)進(jìn)行測(cè)距定位 100米級(jí) 對(duì)基站依賴程度較高
5G? 超密集組網(wǎng)下的定位技術(shù)/面向5C的TDOA和AOA定位技術(shù)、面向5G網(wǎng)絡(luò)上行定位和下行定位 100米級(jí) 抗干擾有局限性
慣性導(dǎo)航 基于航位推算方法 米級(jí) 存在累計(jì)漂移誤差
地球磁場(chǎng)? 基于信號(hào)場(chǎng)強(qiáng)定位或與其他技術(shù)組合應(yīng)用 米級(jí) 地球指紋特征差異小

基于GPS和GSM的定位在全世界被廣泛使用,可以用來(lái)確定其所連接生物的精確位置。這種器件成本低、可靠性高,并具有精確跟蹤功能。可以提供有效、實(shí)時(shí)的物體、生物的位置報(bào)告和時(shí)間信息。

2. 解決方案概要

該方案采用基于全球移動(dòng)通信系統(tǒng)(GSM)技術(shù)和GPS技術(shù)的嵌入式系統(tǒng)。該系統(tǒng)安裝在生物穿戴設(shè)備中。接口GSM模塊連接到Hi3861。該系統(tǒng)提供以下功能:a)位置信息,b)使用短信進(jìn)行實(shí)時(shí)跟蹤。

3127f17a-6c5d-11ed-8abf-dac502259ad0.jpg

3. 硬件設(shè)計(jì)

3.1SIM808模塊調(diào)制解調(diào)器模塊

3150e2c4-6c5d-11ed-8abf-dac502259ad0.png

可以選用GSM、GPRS、GPS三合一功能的SIM808模塊。支持GSM/GPRS Quad-Band網(wǎng)絡(luò),結(jié)合GPS技術(shù)進(jìn)行衛(wèi)星導(dǎo)航。它具有睡眠模式下的超低功耗,并集成了鋰離子電池充電電路,使其具有超長(zhǎng)的待機(jī)時(shí)間,方便使用可充電鋰離子電池的項(xiàng)目。它具有高 GPS 接收靈敏度,具有 22 個(gè)跟蹤和 66 個(gè)采集接收器通道。模塊通過(guò) UART(編者注:Universal Asynchronous Receiver/Transmitter 通用異步接收器/發(fā)送器的英文縮寫) 由 AT 指令控制,支持 3.3V 和 5V 邏輯電平。

GSM調(diào)制解調(diào)器的工作基于命令,命令始終以“AT開(kāi)頭”(表示注意),以“<CR>字符結(jié)束”,例如撥號(hào)命令是ATD<number>;ATD7814629081;這里,撥號(hào)命令以分號(hào)(;)結(jié)束。在Hi3861的幫助下,該AT命令被提供給GSM調(diào)制解調(diào)器。GSM調(diào)制解調(diào)器在MAX 232 IC的幫助下與微控制器串行連接。GSM指定的頻率范圍為1850到1990 MHz(移動(dòng)臺(tái)到基站)。

3.2 Hi3861

Hi3861開(kāi)發(fā)板模組大小約2cm*5cm,是一款高度集成的2.4GHz WLAN SoC。

Hi3861芯片集成高性能32bit微處理器、擁有豐富的外設(shè)接口,芯片內(nèi)置SRAM(編者注:Static Random-Access Memory 靜態(tài)隨機(jī)存取存儲(chǔ)器的英文縮寫)和Flash,并支持在Flash上運(yùn)行程序。

Hi3861模組有2MB FLASH,352KB RAM。但我們編寫代碼時(shí),要注意對(duì)有限資源的合理利用。

Hi3861可以說(shuō)是麻雀雖小,五臟俱全。Hi3861的外設(shè)接口包括(外部主晶振為40M或者24M):

  • 2個(gè)SPI(Synchronous Peripheral Interface)

  • 3個(gè)UART(Universal Asynchronous Receiver & Transmitter)

  • 2個(gè)I2C(The Inter-Integrated Circuit)

  • 6路PWM(Pulse Width Modulation)

  • 15個(gè)GPIO(General Purpose Input/Output)

  • 7路ADC(Analog to Digital Converter)

  • 1個(gè)I2S接口

  • 1個(gè)高速SDIO2.0(Secure Digital Input/Output)接口,最高時(shí)鐘可達(dá)50MHz;

31deb02c-6c5d-11ed-8abf-dac502259ad0.jpg

Hi3861主控功能框架圖如下:

3202e604-6c5d-11ed-8abf-dac502259ad0.jpg

在該系統(tǒng)中,它用于同步GSM和GPS的操作。GPS連續(xù)向微控制器發(fā)送位置數(shù)據(jù),即車輛位置的緯度和經(jīng)度,而GSM從微控制器發(fā)送和接收數(shù)據(jù)。GPS調(diào)制解調(diào)器連續(xù)提供許多參數(shù)作為輸出,但只有NMEA(編者注:National Marine Electronics Association國(guó)家海洋電子協(xié)會(huì)的英文縮寫)數(shù)據(jù)被讀取并“顯示在OLED上”。將相同的數(shù)據(jù)發(fā)送給移動(dòng)用戶,以便可以知道車輛的確切位置。用戶的移動(dòng)號(hào)碼存儲(chǔ)在EEPROM(編者注:Electrically Erasable Programmable read only memory 帶電可擦可編程只讀存儲(chǔ)器 的英文縮寫)中。

4. 軟件設(shè)計(jì)

軟件編程是用C語(yǔ)言完成的。GPS從衛(wèi)星接收的數(shù)據(jù)(坐標(biāo))在軟件中定義。解碼NMEA(國(guó)家海洋電子協(xié)會(huì))協(xié)議是開(kāi)發(fā)該軟件的主要目的。軟件程序中應(yīng)包含用戶的手機(jī)號(hào)碼,以便從我們?cè)贕SM調(diào)制解調(diào)器中使用的SIM卡接收位置值。NMEA協(xié)議由一組ASCII字符集的消息組成。GPS接收數(shù)據(jù)并以ASCII逗號(hào)分隔的消息字符串的形式顯示。$'在每條消息的開(kāi)頭使用符號(hào)。位置(緯度和經(jīng)度)的格式為ddmm。mmmm(度數(shù)分鐘和十進(jìn)制分鐘)。軟件協(xié)議由GGA(編者注:Global Positioning System Fix Data 全球定位系統(tǒng)固定數(shù)據(jù))和GLL(編者注:Geographic Position 地理位置-緯度/經(jīng)度)組成。但在這個(gè)系統(tǒng)中,我們只使用GGA。系統(tǒng)流程圖如下所示:

321752e2-6c5d-11ed-8abf-dac502259ad0.png

具體代碼實(shí)現(xiàn):

/***** 獲取電壓值函數(shù) *****/
static float GetVoltage(void)
{
    unsigned int ret;
    unsigned short data;


    ret = AdcRead(WIFI_IOT_ADC_CHANNEL_5, &data, WIFI_IOT_ADC_EQU_MODEL_8, WIFI_IOT_ADC_CUR_BAIS_DEFAULT, 0xff);
    if (ret != WIFI_IOT_SUCCESS)
    {
        printf("ADC Read Fail
");
    }


    return (float)data * 1.8 * 4 / 4096.0;
}


/* input:AT+CGNSINF Command Response
* output:struct GGPS_DATA
*/
static void GPS_CGNSINF_Analyze(char *origin, GGPS_DATA *gpsdata)
{
    int counter = 0;
    char tmp[150] = {0};
    char *lptr = NULL;
    char *localptr = NULL;


    lptr = (char *)strstr(origin, "+CGNSINF");
    if (lptr == NULL)
    {
        return;
    } else {
        lptr += 10;
    }

    while (*lptr != '')
    {
        if (*lptr == ',' && *(lptr + 1) == ',')
        {
            tmp[counter] = *lptr;
            counter++;
            tmp[counter] = '0';
        } else if (*lptr == '
' && *(lptr + 1) == '
' && counter < 148)
        {
            tmp[counter] = '0';
            tmp[counter + 1] = ',';
            tmp[counter + 2] = 0;
            break;
        } else {
            tmp[counter] = *lptr;
        }
        lptr++;
        counter++;


        /* avoid array out of range */
        if (counter >= GNSINF_MSG_MAX_LEN){
            return;
        }


    }
    /* Clear struct data */
    memset(gpsdata, 0, sizeof( GGPS_DATA));


    localptr = (char *)strtok(tmp, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->GNSSrunstatus, localptr, sizeof(gpsdata->GNSSrunstatus));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->Fixstatus, localptr, sizeof(gpsdata->Fixstatus));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->UTCdatetime, localptr, sizeof(gpsdata->UTCdatetime));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->latitude, localptr, sizeof(gpsdata->latitude));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->logitude, localptr, sizeof(gpsdata->logitude));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->altitude, localptr, sizeof(gpsdata->altitude));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->speedOTG, localptr, sizeof(gpsdata->speedOTG));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->course, localptr, sizeof(gpsdata->course));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->fixmode, localptr, sizeof(gpsdata->fixmode));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->Reserved1, localptr, sizeof(gpsdata->Reserved1));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->HDOP, localptr, sizeof(gpsdata->HDOP));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->PDOP, localptr, sizeof(gpsdata->PDOP));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->VDOP, localptr, sizeof(gpsdata->VDOP));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->Reserved2, localptr, sizeof(gpsdata->Reserved2));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->satellitesinview, localptr, sizeof(gpsdata->satellitesinview));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->GNSSsatellitesused, localptr, sizeof(gpsdata->GNSSrunstatus));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->GLONASSsatellitesused, localptr, sizeof(gpsdata->GLONASSsatellitesused));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->Reserved3, localptr, sizeof(gpsdata->Reserved3));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->CN0max, localptr, sizeof(gpsdata->CN0max));


    localptr = (char *)strtok(NULL, ",");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->HPA, localptr, sizeof(gpsdata->HPA));


    localptr = (char *)strtok(NULL, "
");
    if (localptr == NULL)
    {
        return;
    }
    strncpy(gpsdata->VPA, localptr, sizeof(gpsdata->VPA));
}


static void GsmCheckRingAndHanupMessage(void)
{
    if (strstr(g_uart_buff, "RING") != NULL)
    {
        printf("ring.
");
        if (GsmGetConnectSts() == false)
        {
            GsmSetRingSts(true);
        }
    }
    if (strstr(g_uart_buff, "NO CARRIER") != NULL)
    {
        printf("hang up.
");


        GsmSetHungUpSts(true);


        if (GsmGetConnectSts() == true)
        {
            GsmSetConnectSts(false);
        }
    }
}


static uint32_t GsmSendCmd(char *cmd, int len)
{
    if (cmd == NULL || len <= 0)
    {
        return HI_ERR_FAILURE;
    }


    uint32_t ret = HI_ERR_FAILURE;
    static uint32_t count = 0;
    uint8_t *uart_buff_ptr = g_uart_buff;


    ret = hi_uart_write(DEMO_UART_NUM, (hi_u8 *)cmd, len);
    if (ret == HI_ERR_FAILURE)
    {
        return HI_ERR_FAILURE;
    }
    printf(" SendData%d,cmd:%s.
", len, cmd);


    while (g_uartController.isReadBusy)
    {
        count++;
        if (count > UART_WAIT_COUNT_MAX)
        {
            break;
        }


    }


    if (g_uartController.isReadBusy)
    {
        printf("GsmSendCmd hi_uart_read busy return");
        return HI_ERR_FAILURE;
    }
    if (!g_uartController.isReadBusy){
        usleep(100000); /* sleep 100ms */
    }


    g_uartController.isReadBusy = true;
    g_ReceivedDatalen = hi_uart_read(DEMO_UART_NUM, uart_buff_ptr, UART_BUFF_SIZE);


    if (g_ReceivedDatalen > 0)
    {
        printf(" rcvData len:%d,msg:%s.
", g_ReceivedDatalen, g_uart_buff);
        if (strstr(g_uart_buff, "OK") != NULL)
        {
            GsmCheckRingAndHanupMessage();
            memset(g_uart_buff, 0, sizeof(g_uart_buff));
            g_ReceivedDatalen = 0;
            g_uartController.isReadBusy = false;
            return HI_ERR_SUCCESS;
        }
        else
        {
            printf(" received error cmd
");
            GsmCheckRingAndHanupMessage();
            memset(g_uart_buff, 0, sizeof(g_uart_buff));
            g_ReceivedDatalen = 0;
            g_uartController.isReadBusy = false;
            return HI_ERR_FAILURE;
        }
    }
    else
    {
        g_uartController.isReadBusy = false;
        printf(" SendCmd no cmd return!
");
        return HI_ERR_FAILURE;
    }


    return HI_ERR_SUCCESS;
}




uint32_t GpsGetLocation(GGPS_INFO *gpsInfo)
{
    uint32_t ret = HI_ERR_FAILURE;
    static uint32_t count = 0;
    uint8_t *uart_buff_ptr = g_uart_buff;


    ret = hi_uart_write(DEMO_UART_NUM, (hi_u8 *)"AT+CGNSINF
", strlen("AT+CGNSINF
"));
    if (ret == HI_ERR_FAILURE)
    {
        return NULL;
    }


    while (g_uartController.isReadBusy)
    {
        count++;
        if (count > UART_WAIT_COUNT_MAX)
        {
            break;
        }
        usleep(100000); /* sleep 100ms */
    }


    if (g_uartController.isReadBusy)
    {
        printf("GpsGetLocation hi_uart_read busy return");
        return HI_ERR_FAILURE;
    }else{
        usleep(100000); /* sleep 100ms */
    }


    g_uartController.isReadBusy = true;
    g_ReceivedDatalen = hi_uart_read(DEMO_UART_NUM, uart_buff_ptr, UART_BUFF_SIZE);


    if (g_ReceivedDatalen > 0)
    {
        printf(" rcvData len:%d,msg:%s.
", g_ReceivedDatalen, g_uart_buff);


        uint8_t *strLocation = (uint8_t *)strstr(g_uart_buff, "+CGNSINF: 1,1");


        if (strLocation != NULL)
        {
            GGPS_DATA gpsData;
            GPS_CGNSINF_Analyze((char *)g_uart_buff, &gpsData);


            printf("latitude:%s.
", gpsData.latitude);
            printf("logitude:%s.
", gpsData.logitude);


            memcpy_s(gpsInfo->UTCdatetime, sizeof(gpsInfo->UTCdatetime), gpsData.UTCdatetime, sizeof(gpsData.UTCdatetime));
            memcpy_s(gpsInfo->logitude, sizeof(gpsInfo->logitude), gpsData.logitude, sizeof(gpsData.logitude));
            memcpy_s(gpsInfo->latitude, sizeof(gpsInfo->latitude), gpsData.latitude, sizeof(gpsData.latitude));
            memcpy_s(gpsInfo->satellitesinview, sizeof(gpsInfo->satellitesinview), gpsData.satellitesinview, sizeof(gpsData.satellitesinview));


            GsmCheckRingAndHanupMessage();


            memset(g_uart_buff, 0, sizeof(g_uart_buff));
            g_ReceivedDatalen = 0;
            g_uartController.isReadBusy = false;


            return HI_ERR_SUCCESS;
        } else {
            GsmCheckRingAndHanupMessage();
            memset(g_uart_buff, 0, sizeof(g_uart_buff));
            g_ReceivedDatalen = 0;
            g_uartController.isReadBusy = false;
            return HI_ERR_FAILURE;
        }
    } else {
        printf(" SendCmd no cmd return!
");
        g_uartController.isReadBusy = false;


        return HI_ERR_FAILURE;
    }
}


uint32_t GsmCallCellPhone(char *cellPhoneNumeber)
{
    uint32_t ret = HI_ERR_FAILURE;
    char sendCmd[32] = "";
    uint8_t cPhoneNumLength = strlen(cellPhoneNumeber);


    if (cPhoneNumLength < PHONE_NUMB_LEN)
    {
        return HI_ERR_FAILURE;
    }


    /* Send AT+CSQ. */
    strncpy(sendCmd, "AT+CSQ
", strlen("AT+CSQ
"));
    printf(" sendCmd=%s
", sendCmd);
    ret = GsmSendCmd(sendCmd, strlen(sendCmd));
    if (ret == HI_ERR_FAILURE)
    {
        return HI_ERR_FAILURE;
    }
    memset(sendCmd, 0, strlen(sendCmd));


    /* Call cellPhone Number:ATD+cellPhoneNumber. */
    snprintf(sendCmd, sizeof(sendCmd), "ATD%s;
", cellPhoneNumeber);
    printf(" sendCmd=%s
", sendCmd);
    ret = GsmSendCmd(sendCmd, strlen(sendCmd));
    if (ret == HI_ERR_FAILURE)
    {
        return HI_ERR_FAILURE;
    }


    return HI_ERR_SUCCESS;
}

32318676-6c5d-11ed-8abf-dac502259ad0.gif

未完待續(xù)……

后期預(yù)告《智慧牧場(chǎng)之室內(nèi)管理系統(tǒng)篇》

更多熱點(diǎn)文章閱讀

  • 玩嗨OpenHarmony:基于OpenHarmony的智能助老服務(wù)機(jī)器人
  • 玩嗨OpenHarmony:基于OpenHarmony的智慧農(nóng)業(yè)環(huán)境監(jiān)控系統(tǒng)
  • 首個(gè)通過(guò)OpenHarmony兼容性測(cè)評(píng)的全場(chǎng)景實(shí)驗(yàn)箱
  • 基于OpenHarmony的智能門禁系統(tǒng),讓出行更便捷
  • OpenHarmony 3.2 Beta多媒體系列:音視頻播放框架

提示:本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請(qǐng)注明以上來(lái)源。如需社區(qū)合作及入群交流,請(qǐng)?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。


原文標(biāo)題:基于OpenHarmony的智慧牧場(chǎng)方案:生物運(yùn)動(dòng)軌跡跟蹤篇

文章出處:【微信公眾號(hào):電子發(fā)燒友開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:基于OpenHarmony的智慧牧場(chǎng)方案:生物運(yùn)動(dòng)軌跡跟蹤篇

文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【道生物聯(lián)TKB-623評(píng)估板試用】用一段視頻簡(jiǎn)單介紹一下道生物聯(lián)TKB-623評(píng)估板試用

    領(lǐng)域提供先進(jìn)、有競(jìng)爭(zhēng)力的窄帶無(wú)線物聯(lián)網(wǎng)接入技術(shù)和全套系統(tǒng)解決方案。 道生物聯(lián)TKB-623評(píng)估板大功率 TK8620 模組評(píng)估板是為方便測(cè)試與評(píng)估 TKM-210 大功率模組性能和功能而設(shè)計(jì)的??芍苯?/div>
    發(fā)表于 11-07 22:59

    【置頂公告】視美泰開(kāi)源鴻蒙系列產(chǎn)品業(yè)務(wù)咨詢與商務(wù)合作通道正式開(kāi)啟!

    設(shè)計(jì)。 生態(tài)解決方案整合智慧政務(wù)、智慧醫(yī)療、智慧園區(qū)、智慧教育、智慧安平、工業(yè)物聯(lián)網(wǎng)等領(lǐng)域鴻蒙化
    發(fā)表于 10-20 16:23

    24G人在感應(yīng)雷達(dá)和24G目標(biāo)軌跡跟蹤雷達(dá)的區(qū)別

    24G人體存在感知雷達(dá)模塊和24G人體目標(biāo)軌跡跟蹤雷達(dá)模塊都是人體感知雷達(dá),那么在具體功能上和應(yīng)用上面有什么差異呢?產(chǎn)品性能上的差異24G人體存在雷達(dá)功能定位:區(qū)分人體狀態(tài)(靜止/微動(dòng)/運(yùn)動(dòng))并輸出
    的頭像 發(fā)表于 08-19 12:01 ?1069次閱讀
    24G人在感應(yīng)雷達(dá)和24G目標(biāo)<b class='flag-5'>軌跡</b><b class='flag-5'>跟蹤</b>雷達(dá)的區(qū)別

    HDC.2025 潤(rùn)開(kāi)鴻發(fā)布基于OpenHarmony智慧中醫(yī)AI輔助診療解決方案

    ,江蘇潤(rùn)和軟件股份有限公司旗下子公司潤(rùn)開(kāi)鴻數(shù)字科技有限公司(以下簡(jiǎn)稱“潤(rùn)開(kāi)鴻”)于本屆大會(huì)上重磅發(fā)布基于OpenHarmony智慧中醫(yī)AI輔助診療解決方案,展示了自身基于“OpenHarmo
    的頭像 發(fā)表于 06-27 18:50 ?3998次閱讀
    HDC.2025 潤(rùn)開(kāi)鴻發(fā)布基于<b class='flag-5'>OpenHarmony</b>的<b class='flag-5'>智慧</b>中醫(yī)AI輔助診療解決<b class='flag-5'>方案</b>

    Nordic下一代可穿戴設(shè)備和邊緣人工智能改進(jìn)運(yùn)動(dòng)表現(xiàn)分析

    入地了解運(yùn)動(dòng)表現(xiàn)和發(fā)揮改進(jìn)潛力。 最新的表現(xiàn)跟蹤解決方案借助了無(wú)線連接和邊緣處理技術(shù)的強(qiáng)大功能,幫助用戶實(shí)現(xiàn)這些目標(biāo)并獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。 結(jié)合數(shù)十個(gè)數(shù)據(jù)點(diǎn),便可以建立個(gè)人能力的獨(dú)特檔案。各項(xiàng)運(yùn)動(dòng)
    發(fā)表于 05-12 11:24

    運(yùn)動(dòng)場(chǎng)館智慧照明控制系統(tǒng)

    隨著智能化技術(shù)的發(fā)展,運(yùn)動(dòng)場(chǎng)館的照明系統(tǒng)正從傳統(tǒng)的手動(dòng)控制向智慧化、數(shù)字化方向轉(zhuǎn)型。通過(guò)對(duì)照明系統(tǒng)進(jìn)行升級(jí),提升場(chǎng)館運(yùn)營(yíng)效率,優(yōu)化運(yùn)動(dòng)員與觀眾的體驗(yàn),降低能源消耗。 運(yùn)動(dòng)場(chǎng)館
    的頭像 發(fā)表于 04-30 14:38 ?539次閱讀

    基于智能穿戴的智慧校園運(yùn)動(dòng)健康解決方案NRF52832

    方案概述: 隨著現(xiàn)代社會(huì)的發(fā)展,青少年學(xué)生面臨著越來(lái)越多的學(xué)業(yè)壓力和生活習(xí)慣不良的問(wèn)題,對(duì)他們的身體健康和運(yùn)動(dòng)需求提出了更高的要求。物聯(lián)網(wǎng)走進(jìn)校園成為必然趨勢(shì),同時(shí)基于智能穿戴的智慧校園運(yùn)動(dòng)
    發(fā)表于 04-09 15:37

    船舶焊接自動(dòng)化升級(jí):激光焊縫跟蹤傳感器解決方案

    船舶的制造對(duì)焊接質(zhì)量與效率的要求極高,傳統(tǒng)焊接依賴人工調(diào)整或固定程序化機(jī)器人,難以應(yīng)對(duì)工件裝夾誤差、裝配偏差及復(fù)雜焊縫軌跡等難題,創(chuàng)想智控激光焊縫跟蹤傳感器憑借高精度實(shí)時(shí)焊縫跟蹤技術(shù),給船舶制造業(yè)
    的頭像 發(fā)表于 03-10 15:05 ?584次閱讀
    船舶焊接自動(dòng)化升級(jí):激光焊縫<b class='flag-5'>跟蹤</b>傳感器解決<b class='flag-5'>方案</b>

    創(chuàng)想智控激光焊縫跟蹤系統(tǒng)智能引導(dǎo)焊接螺旋攪龍葉片的應(yīng)用方案

    。今天一起了解創(chuàng)想智控激光焊縫跟蹤系統(tǒng)智能引導(dǎo)焊接螺旋攪龍葉片的應(yīng)用方案。 激光焊縫跟蹤系統(tǒng)原理 創(chuàng)想智控的激光焊縫跟蹤系統(tǒng)采用先進(jìn)的視覺(jué)傳感器和激光掃描技術(shù),能夠?qū)崟r(shí)檢測(cè)焊縫位置及其
    的頭像 發(fā)表于 02-05 17:03 ?593次閱讀
    創(chuàng)想智控激光焊縫<b class='flag-5'>跟蹤</b>系統(tǒng)智能引導(dǎo)焊接螺旋攪龍葉片的應(yīng)用<b class='flag-5'>方案</b>

    智慧園區(qū)人員定位及軌跡追蹤技術(shù)哪個(gè)好?

    智慧園區(qū)作為城市發(fā)展的重要組成部分,其管理和服務(wù)效率的提升日益受到重視。人員定位及軌跡追蹤技術(shù)作為智慧園區(qū)建設(shè)的核心環(huán)節(jié)之一,對(duì)于提高園區(qū)安全性、優(yōu)化資源配置、提升服務(wù)體驗(yàn)具有重要意義。然而,傳統(tǒng)
    的頭像 發(fā)表于 01-22 11:18 ?868次閱讀
    <b class='flag-5'>智慧</b>園區(qū)人員定位及<b class='flag-5'>軌跡</b>追蹤技術(shù)哪個(gè)好?

    迅為RK3568開(kāi)發(fā)板OpenHarmony實(shí)操HDF驅(qū)動(dòng)控制LED-添加內(nèi)核編譯

    編譯內(nèi)核時(shí)將該 HDF 驅(qū)動(dòng)編譯到鏡像中,接下來(lái)編寫驅(qū)動(dòng)編譯腳本 Makefile,代碼如下所示: 加入編譯體系,填加模塊目錄到 drivers/hdf_core/adapter/khdf/linux/Makefile 文件 更多內(nèi)容可以關(guān)注:迅為RK3568開(kāi)發(fā)板OpenHa
    發(fā)表于 01-22 10:35

    24GHz軌跡跟蹤雷達(dá)模組,可檢測(cè)區(qū)域內(nèi)人員位置、數(shù)量

    Rd-03D是一款24GHz單雷達(dá),高性能24GHz一發(fā)兩收微帶天線的模組,能夠探測(cè)指定區(qū)域內(nèi)的多個(gè)目標(biāo)并實(shí)時(shí)上報(bào)結(jié)果。精準(zhǔn)感知人體及區(qū)域運(yùn)動(dòng)狀態(tài),搭載的智能算法實(shí)現(xiàn)運(yùn)動(dòng)軌跡識(shí)別與跟蹤
    的頭像 發(fā)表于 01-17 18:01 ?1045次閱讀
    24GHz<b class='flag-5'>軌跡</b><b class='flag-5'>跟蹤</b>雷達(dá)模組,可檢測(cè)區(qū)域內(nèi)人員位置、數(shù)量

    迅為RK3568開(kāi)發(fā)板OpenHarmony配置HDF驅(qū)動(dòng)控制LED-新增 topeet子系統(tǒng)

    目錄 ├── led_driver.c:內(nèi)核 LED HDF 驅(qū)動(dòng)程序 └── Makefile:內(nèi)核 LED HDF 驅(qū)動(dòng)編譯腳本 更多內(nèi)容可以關(guān)注:迅為RK3568開(kāi)發(fā)板OpenHarmony
    發(fā)表于 01-13 15:59

    運(yùn)動(dòng)控制中如何實(shí)現(xiàn)路徑軌跡預(yù)測(cè)

    運(yùn)動(dòng)控制中,軌跡執(zhí)行時(shí)間的預(yù)測(cè)對(duì)于多軸的協(xié)同、路徑預(yù)處理等方面有著重要的作用。CODESYS系列控制器提供了預(yù)測(cè)軌跡執(zhí)行時(shí)間功能塊。要實(shí)現(xiàn)完整的預(yù)測(cè)功能,需要使用到以下的功能塊
    的頭像 發(fā)表于 01-05 11:04 ?1492次閱讀
    <b class='flag-5'>運(yùn)動(dòng)</b>控制中如何實(shí)現(xiàn)路徑<b class='flag-5'>軌跡</b>預(yù)測(cè)

    芯??萍枷盗?b class='flag-5'>OpenHarmony3.1芯片支持智慧生態(tài)構(gòu)建

    隨著OpenHarmony3.1的正式發(fā)布,芯海科技作為OpenHarmony生態(tài)的重要參與者,及時(shí)推出了兩款與系統(tǒng)適配的新品:健康測(cè)量CS1262芯片和無(wú)線連接CST85F01模組,為智慧生態(tài)的構(gòu)建貢獻(xiàn)了芯海力量。
    的頭像 發(fā)表于 12-17 17:25 ?888次閱讀
    芯??萍枷盗?b class='flag-5'>OpenHarmony</b>3.1芯片支持<b class='flag-5'>智慧</b>生態(tài)構(gòu)建