国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI

這篇具有很好參考價值的文章主要介紹了單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

0 前言

?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達(dá)不到老師的要求。

為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天要分享的是

?? 基于Stm32的家庭智能監(jiān)控系統(tǒng)

??學(xué)長這里給一個題目綜合評分(每項滿分5分)

  • 難度系數(shù):3分
  • 工作量:4分
  • 創(chuàng)新點:4分

1 簡介

結(jié)合低功耗AI芯片以及移動網(wǎng)絡(luò),將人員/物體檢測模型部署到設(shè)備端,達(dá)到較低功耗、實時響應(yīng)、節(jié)省流量的效果。

2 主要器件

  • 主控芯片使用勘智K210
  • 攝像頭 OV7740
  • 數(shù)據(jù)傳輸使用 4G模塊 EC20 或者 2G模塊 SIM800C;

3 實現(xiàn)效果

單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)
單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)

單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)

單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)
單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)

4 設(shè)計原理

主模塊原理圖
單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)

設(shè)備端運行 FreeRTOS + LWIP

LWIP協(xié)議棧支持的主要功能如下所示,本文將具體介紹各個協(xié)議的具體功能。
單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)
部分移植過程

修改修改cc.h文件
單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)

修改sys_arch.c文件

單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)

通過PPPOS驅(qū)動4G模塊

LTE Standard EC20 R2.1是移遠(yuǎn)通信推出的 LTE Cat 4 無線通信模塊,采用 LTE 3GPP Rel.11 技術(shù),支持最大下行速率 150Mbps 和最大上行速率 50Mbps,使用LCC封裝。
單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)
單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)

系統(tǒng)啟動后會加載 yolov2-tiny 模型

yolov2網(wǎng)絡(luò)結(jié)構(gòu)圖
單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI,單片機(jī)

YOLOv2相對v1版本,在繼續(xù)保持處理速度的基礎(chǔ)上,從預(yù)測更準(zhǔn)確(Better),速度更快(Faster),識別對象更多(Stronger)這三個方面進(jìn)行了改進(jìn)。其中識別更多對象也就是擴(kuò)展到能夠檢測9000種不同對象,稱之為YOLO9000。

#部分代碼
def test_net(net, imdb, max_per_image=300, thresh=0.5, vis=False):
    num_images = imdb.num_images

    # all detections are collected into:
    #    all_boxes[cls][image] = N x 5 array of detections in
    #    (x1, y1, x2, y2, score)
    all_boxes = [[[] for _ in range(num_images)]
                 for _ in range(imdb.num_classes)]

    # timers
    _t = {'im_detect': Timer(), 'misc': Timer()}
    det_file = os.path.join(output_dir, 'detections.pkl')
    size_index = args.image_size_index

    for i in range(num_images):

        batch = imdb.next_batch(size_index=size_index)
        ori_im = batch['origin_im'][0]
        im_data = net_utils.np_to_variable(batch['images'], is_cuda=True,
                                           volatile=True).permute(0, 3, 1, 2)

        _t['im_detect'].tic()
        bbox_pred, iou_pred, prob_pred = net(im_data)

        # to numpy
        bbox_pred = bbox_pred.data.cpu().numpy()
        iou_pred = iou_pred.data.cpu().numpy()
        prob_pred = prob_pred.data.cpu().numpy()

并且通過 MQTT 協(xié)議接入后端服務(wù)器; 攝像頭線程讀取圖像信息,處理后發(fā)送到K210內(nèi)置的卷積神經(jīng)網(wǎng)絡(luò)加速器,得出 yolov2-tiny 的預(yù)測結(jié)果,如果存在超過預(yù)定分類閾值的結(jié)果,則通過 MQTT 協(xié)議發(fā)送到后端。

后端Thingsboard

后端服務(wù)器基于 Thingsboard 進(jìn)行開發(fā),實現(xiàn)圖像信息展示以及設(shè)備固件OTA功能。
ThingsBoard 是一個基于Java的開源的物聯(lián)網(wǎng)平臺,用于數(shù)據(jù)收集、處理、可視化和設(shè)備管理。它使用物聯(lián)網(wǎng)行業(yè)的標(biāo)準(zhǔn)協(xié)議(MQTT、CoAP和HTTP)實現(xiàn)設(shè)備連接,并支持云和本地部署。 ThingsBoard 具有可擴(kuò)展性、容錯性和高性能,因此永遠(yuǎn)不會丟失數(shù)據(jù)。
Thingsboard 基本特點

  • 提供設(shè)備、資產(chǎn)和客戶,并定義它們之間的關(guān)系。
  • 警報管理:分析傳入的遙測數(shù)據(jù)并通過復(fù)雜的事件處理觸發(fā)警報。
  • 設(shè)備管理:使用遠(yuǎn)程過程調(diào)用(RPC)控制設(shè)備。根據(jù)設(shè)備生命周期事件,REST API 事件,RPC 請- 求等構(gòu)建工作流
  • 可擴(kuò)展性:可水平擴(kuò)展的平臺,使用領(lǐng)先的開源技術(shù)進(jìn)行構(gòu)建。
  • 數(shù)據(jù)可視化: 從設(shè)備和資產(chǎn)收集并可視化數(shù)據(jù)。提供了現(xiàn)成的30個可配置小部件,并能夠使用內(nèi)置編輯器創(chuàng)建自己的小部件。內(nèi)置線圖,數(shù)字和模擬儀表,地圖等等。
  • 容錯:沒有單點故障,集群中的每個節(jié)點都是相同的。沒有主人工人或熱備用人員。自動檢測到節(jié)點故障??梢栽诓煌C(jī)的情況下更換故障節(jié)點。使用可靠的 NoSQL 數(shù)據(jù)庫復(fù)制持久數(shù)據(jù)。
  • 強(qiáng)大而高效:單個服務(wù)器節(jié)點可以處理成千上萬個設(shè)備,具體取決于用例。ThingsBoard 集群可以處理數(shù)百萬個設(shè)備。
  • 可自定義的:通過可自定義的小部件和規(guī)則引擎節(jié)點,輕松添加新功能。使用可自定義的規(guī)則鏈,窗口小部件和傳輸實現(xiàn)來擴(kuò)展默認(rèn)平臺功能。除了MQTT,CoAP和HTTP支持之外,ThingsBoard用戶還可以使用自己的傳輸實現(xiàn)或自定義現(xiàn)有協(xié)議的行為。
  • 持久:永遠(yuǎn)不會丟失您的數(shù)據(jù)。
  • 遙測數(shù)據(jù)收集功能: 設(shè)計動態(tài)且響應(yīng)迅速的儀表板,并向您的客戶提供設(shè)備或資產(chǎn)遙測和見解??梢钥煽康厥占痛鎯b測數(shù)據(jù),以應(yīng)對網(wǎng)絡(luò)和硬件故障。使用可自定義的Web儀表板或服務(wù)器端API訪問收集的數(shù)據(jù)。

部分相關(guān)代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-794495.html

public class MqttTransportService {
	.....

    @Autowired
    private MqttTransportContext context;

    @PostConstruct
    public void init() throws Exception {
        log.info("Setting resource leak detector level to {}", );
      ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.valueOf(leakDetectorLevel.toUpperCase()));

     
        b.group(bossGroup, workerGroup)
                .channel(NioServerSocketChannel.class)
                .childHandler(new MqttTransportServerInitializer(context))
                .childOption(ChannelOption.SO_KEEPALIVE, keepAlive);
        }
    .....
}


private void processDevicePublish(ChannelHandlerContext ctx, MqttPublishMessage mqttMsg, String topicName, int msgId) {
    try {
        if (topicName.equals(MqttTopics.DEVICE_TELEMETRY_TOPIC)) {
            TransportProtos.PostTelemetryMsg postTelemetryMsg = adaptor.convertToPostTelemetry(deviceSessionCtx, mqttMsg);
            transportService.process(sessionInfo, postTelemetryMsg, getPubAckCallback(ctx, msgId, postTelemetryMsg));
        } else if (topicName.equals(MqttTopics.DEVICE_ATTRIBUTES_TOPIC)) {
            TransportProtos.PostAttributeMsg postAttributeMsg = adaptor.convertToPostAttributes(deviceSessionCtx, mqttMsg);
            transportService.process(sessionInfo, postAttributeMsg, getPubAckCallback(ctx, msgId, postAttributeMsg));
        } 
        ...
        } else {
            transportService.reportActivity(sessionInfo);
        }
    } catch (AdaptorException e) {
        log.warn("[{}] Failed to process publish msg [{}][{}]", sessionId, topicName, msgId, e);
        log.info("[{}] Closing current session due to invalid publish msg [{}][{}]", sessionId, topicName, msgId);
        ctx.close();
    }
}


5 最后

到了這里,關(guān)于單片機(jī)項目分享 基于Stm32的家庭智能監(jiān)控系統(tǒng) - 單片機(jī) 圖像識別 人體檢測 AI的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包