色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

找方案 | 基于NUVOTON MA35D1 在OpenWRT系統的 IP CAM方案

大大通 ? 2023-01-16 14:40 ? 次閱讀

OpenWRT系統為嵌入式設備的Linux作業系統,并且擁有龐大的軟件包管理功能。它提供了一個完全可寫的文件系統,可讓伙伴們從應用程序的供應商所提供的清單來配置。并允許使用者來自定義的設備,以適任任何應用程序。對于即將進行開發的伙伴們而言,OpenWRT系統能快速建構應用程序的框架,而無需重新建立該應用程序完整的固件。這也意味著可以進行完全自行定制的能力。

接下來,為伙伴們提供 基于Nuvoton MA35D1 IoT平臺上,建構 OpenWRT 的方法,并搭載UVC Camera 來實現 IP CAM 監控的基本應用。

A. 硬件環境 : NuMaker-IoT-MA35D1EVB

NuMaker-IoT-MA35D1

61f6746c-9466-11ed-ad0d-dac502259ad0.jpg

主要核心MA35D1 規格如下:

MA35D16F987C with DDR3L (128 MB)

# Dual Cortex-A35 core running up to 800 MHz

# Cortex-M4 processor core running up to 180 MHz

# Real-Time Clock (RTC)

# Ethernet Poart : RGMII x1 and RMIIx1

# USB2.0: Host x1 and OTG x1

# SDIO: SD CARD x1

# QSPI : QSPI FLASH

# NAND: NAND Flash

# GPIO/UART/I2C/I2S/ADC...

B. 軟體建置, 建議使用 Ubuntu 20.04-LTS 的設備來架設

1. 安裝 Docker

sudo apt-get update

sudo apt install apt-transport-https ca-certificates curl software-properties-common

sudo apt install build-essential ccache ecj fastjar file g++ gawk gettext git java-propose-classpath libelf-dev libncurses5-dev libncursesw5-dev libssl-dev python python2.7-dev python3 unzip wget python-distutils-extra python3-setuptools python3-dev rsync subversion swig time xsltproc zlib1g-dev libssl-dev device-tree-compiler

pip3 install pycryptodomex pyelftools pyusb usb crypto ecdsa crcmod tqdm pycryptodome

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

git clone https://github.com/OpenNuvoton/MA35D1_Docker_Script.git

./build.sh

./join.sh

2. 新增并更換目錄

mkdir shared/openwrt

cd shared/openwrt

3. 配置git 環境

git config –global user.email

sac_test@sacsys.com.tw

git config –global user.name ‘sac_test”

4. 下載 NUVOTON Openwrt 源代碼

sac@90440e70ea26:~/shared/openwrt$ git clone https://github.com/OpenNuvoton/MA35D1_OpenWrt.git

Cloning into 'MA35D1_OpenWrt'...

remote: Enumerating objects: 532695, done.

remote: Counting objects: 100% (61/61), done.

remote: Compressing objects: 100% (39/39), done.

remote: Total 532695 (delta 13), reused 44 (delta 9), pack-reused 532634

Receiving objects: 100% (532695/532695), 196.76 MiB | 1.19 MiB/s, done.

Resolving deltas: 100% (358529/358529), done.

Updating files: 100% (8566/8566), done.

sac@90440e70ea26:~/shared/openwrt$

5. 更新和安裝 OpenWRT原代碼

sac@312bc2ae8ba4:~/shared/openwrt/MA35D1_OpenWrt$ ./scripts/feeds update -a

Updating feed 'packages' from 'https://git.openwrt.org/feed/packages.git^78bcd00c13587571b5c79ed2fc3363aa674aaef7' ...

Create index file './feeds/packages.index'

Checking 'working-make'... ok.

Checking 'case-sensitive-fs'... ok.

Checking 'proper-umask'... ok.

Checking 'gcc'... ok.

Checking 'working-gcc'... ok.

Checking 'g++'... ok.

Checking 'working-g++'... ok.

Checking 'ncurses'... ok.

Checking 'perl-data-dumper'... ok.

Checking 'perl-findbin'... ok.

Checking 'perl-file-copy'... ok.

Checking 'perl-file-compare'... ok.

Checking 'perl-thread-queue'... ok.

sac@312bc2ae8ba4:~/shared/openwrt/MA35D1_OpenWrt$ ./scripts/feeds install -a

Installing package 'freeswitch-mod-bcg729' from telephony

Installing package 'freetdm' from telephony

Installing package 'kamailio' from telephony

Installing package 'libosip2' from telephony

Installing package 'miax' from telephony

Installing package 'pcapsipdump' from telephony

Installing package 'restund' from telephony

Installing package 'rtpengine' from telephony

Installing package 'rtpproxy' from telephony

Installing package 'sipgrep' from telephony

Installing package 'sipp' from telephony

Installing package 'siproxd' from telephony

Installing package 'sngrep' from telephony

Installing package 'yate' from telephony

sac@312bc2ae8ba4:~/shared/openwrt/MA35D1_OpenWrt$

6. 配置并導入預設的內核設定文檔

sac@312bc2ae8ba4:~/shared/openwrt/MA35D1_OpenWrt$ make menuconfig

Collecting package info: done

configuration written to .config

*** End of the configuration.

*** Execute 'make' to start the build or try 'make help'.

sac@312bc2ae8ba4:~/shared/openwrt/MA35D1_OpenWrt$

620edc50-9466-11ed-ad0d-dac502259ad0.jpg6225d9fa-9466-11ed-ad0d-dac502259ad0.jpg

sac@312bc2ae8ba4:~/shared/openwrt/MA35D1_OpenWrt$ make kernel_menuconfig

"Image/Build" squashfs

"Image/Build" ext4

time: target/linux/prereq#0.33#0.25#0.52

make[1] toolchain/install

make[2] tools/compile

make[3] -C tools/flock compile

make[3] -C tools/xz compile

make[3] -C tools/sed compile

make[3] -C tools/tar compile

make[3] -C tools/patch compile

make[3] -C tools/m4 compile

7. 配置完成開始編譯sac@312bc2ae8ba4:~/shared/openwrt/MA35D1_OpenWrt$ make

8. 編譯完成后,執行燒錄,值得注意的是需離開 Docker 后才能正確的燒錄成功

user@ubuntu:~/MA35D1/MA35D1_NuWriter$ lsusb

Bus 001 Device 008: ID 0416:5963 Winbond Electronics Corp.

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 004: ID 0e0f:0008 VMware, Inc. VMware Virtual USB Mouse

Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub

Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

user@ubuntu:~/MA35D1/MA35D1_NuWriter$ sudo python3 ./nuwriter.py -a ./ddrimg/enc_ddr3_winbond_512mb.bin

Successfully attached 1 device(s)

==== NAND ====

Page per block: 64

Page size: 2048

Block per flash: 4096

Bad block count: 0

Spare size: 64

Is uer config: 0

==== SPI NOR ====

ID: 0

Is uer config: 0

Quad read cmd: 0

Read sts cmd: 0

Write sts cmd: 0

Sts value: 0

Dummy byte: 0

==== eMMC ====

Block: 0

Reserved: 0

==== SPI NAND ====

Is uer config: 0

ID: 15710755

Page size: 2048

Spare size: 64

Quad read cmd: 107

Read sts cmd: 5

Write sts cmd: 1

Sts value: 2

Dummy byte: 1

Block per flash: 4096

Page per block: 64

Successfully get info from 1 device(s)

user@ubuntu:~/MA35D1/MA35D1_NuWriter$ sudo python3 ./nuwriter.py -e nand all

100%|##########

Successfully erased 1 device(s)

user@ubuntu:~/MA35D1/MA35D1_NuWriter$ sudo python3

python3 python3.8 python3.8-config python3-config

user@ubuntu:~/MA35D1/MA35D1_NuWriter$ sudo python3 ./nuwriter.py -w nand ../MA35D1_

MA35D1_Docker_Script/ MA35D1_NuWriter/

user@ubuntu:~/MA35D1/MA35D1_NuWriter$ sudo python3 ./nuwriter.py -w nand ../MA35D1_

MA35D1_Docker_Script/ MA35D1_NuWriter/

user@ubuntu:~/MA35D1/MA35D1_NuWriter$ sudo python3 ./nuwriter.py -w nand /home/user/openwrt/MA35D1_OpenWrt/bin/targets/ma35d1/iot/openwrt-ma35d1-iot-iot-

openwrt-ma35d1-iot-iot-128m-header-nand.bin

openwrt-ma35d1-iot-iot-128m.manifest

openwrt-ma35d1-iot-iot-128m-pack-nand.bin

openwrt-ma35d1-iot-iot-128m-rootfs.tar.gz

openwrt-ma35d1-iot-iot-128m-squashfs-firmware.bin

openwrt-ma35d1-iot-iot-128m-squashfs-sysupgrade.bin

openwrt-ma35d1-iot-iot-128m-uImage

openwrt-ma35d1-iot-iot-512m-header-nand.bin

openwrt-ma35d1-iot-iot-512m.manifest

openwrt-ma35d1-iot-iot-512m-pack-nand.bin

openwrt-ma35d1-iot-iot-512m-rootfs.tar.gz

openwrt-ma35d1-iot-iot-512m-squashfs-firmware.bin

openwrt-ma35d1-iot-iot-512m-squashfs-sysupgrade.bin

openwrt-ma35d1-iot-iot-512m-uImage

user@ubuntu:~/MA35D1/MA35D1_NuWriter$ sudo python3 ./nuwriter.py -w nand /home/user/openwrt/MA35D1_OpenWrt/bin/targets/ma35d1/iot/openwrt-ma35d1-iot-iot-512m-pack-nand.bin

Waiting for unpack Images ...

check pack file crc32 ...

Programming 1/7: 100%|########## Programming 2/7: 100%|########## Programming 3/7: 100%|########## Programming 4/7: 100%|########## Programming 5/7: 100%|########## Programming 6/7: 100%|########## Programming 7/7: 100%|########## Successfully programmed 1 device(s)

9. 執行到此,伙伴們已經可以看到開機的訊息了對吧?

INFO: ma35d1 config setup

INFO: 1.25V

WARNING: CA-PLL is 800000000 Hz without PSCI setting.

POR: 0x900

INFO: Boot from NAND

INFO: NAND: Size 1024MB, Page 2048, pages per block 64, oob size 64, bit correct 8

NOTICE: BL2: v2.3(release):OpenWrt v2.3-3 (ma35d1-cpu800-wb-512m)

62512e8e-9466-11ed-ad0d-dac502259ad0.jpg

接下來為了順利執行攝相頭的應用,需額外增設內核的配置,小弟為大家整理出來所需要的清單如下。

CONFIG_PACKAGE_librt=y

CONFIG_PACKAGE_libstdcpp=y

CONFIG_PACKAGE_kmod-input-core=y

CONFIG_PACKAGE_kmod-nls-base=y

CONFIG_PACKAGE_kmod-dma-buf=y

CONFIG_PACKAGE_kmod-usb-core=y

CONFIG_PACKAGE_kmod-usb-ehci=y

CONFIG_PACKAGE_kmod-usb2=y

CONFIG_PACKAGE_kmod-video-core=y

CONFIG_PACKAGE_kmod-video-cpia2=y

CONFIG_PACKAGE_kmod-video-gspca-core=y

CONFIG_PACKAGE_kmod-video-pwc=y

CONFIG_PACKAGE_kmod-video-uvc=y

CONFIG_PACKAGE_kmod-video-videobuf2=y

CONFIG_PACKAGE_libjpeg-turbo=y

CONFIG_PACKAGE_libprotobuf-c=y

CONFIG_PACKAGE_libuuid=y

CONFIG_PACKAGE_libv4l=y

CONFIG_PACKAGE_libzmq-nc=y

CONFIG_PACKAGE_mjpg-streamer=y

CONFIG_MJPG_STREAMER_V4L2=y

CONFIG_PACKAGE_mjpg-streamer-input-file=y

CONFIG_PACKAGE_mjpg-streamer-input-http=y

CONFIG_PACKAGE_mjpg-streamer-input-uvc=y

CONFIG_PACKAGE_mjpg-streamer-output-file=y

CONFIG_PACKAGE_mjpg-streamer-output-http=y

CONFIG_PACKAGE_mjpg-streamer-output-rtsp=y

CONFIG_PACKAGE_mjpg-streamer-output-zmq=y

CONFIG_PACKAGE_mjpg-streamer-www-simple=y

接下來為伙伴們演示 OpenWRT軟路由的基本頁面,在使用 ifconfig -a 得知網關的位址為 192.168.0.175時,我們可以在熟悉的瀏覽器上鍵入 IP 位置,來登入軟路由的管理頁面。

如下圖所示,能得知 Nuvoton MA35D1-IoT的系統信息

62696224-9466-11ed-ad0d-dac502259ad0.jpg62750f0c-9466-11ed-ad0d-dac502259ad0.jpg

C. 再來為伙伴們演示如何透過軟路由的camera 來實現 IP CAM的應用。

1. 配置攝像頭輸入的資料所期望的分辦率和偵數,也可同時配置輸出串口,本次演練是使用預設的串口 8080,并搭配方便又容易取得的 USB攝像頭。

root@OpenWrt:/# mjpg_streamer -i "input_uvc.so -r HD -f 30 -d /dev/video0" -o "output_http.so"

MJPG Streamer Version.: 2.0

i: Using V4L2 device.: /dev/video0

i: Desired Resolution: 1280 x 720

i: Frames Per Second.: 30

i: Format............: JPEG

i: TV-Norm...........: DEFAULT

root@OpenWrt:/#

root@OpenWrt:/# /etc/init.d/mjpg-streamer enable

root@OpenWrt:/# /etc/init.d/mjpg-streamer start

root@OpenWrt:/#

此時我們已經可以在同一網域下,使用行動裝置或是電腦的瀏覽器來透過網關的IP地址監看串流的影像。

6286067c-9466-11ed-ad0d-dac502259ad0.jpg

伙伴們一定很好奇,可以遠端查看監控畫面,是否能將攝像頭畫面錄制下來呢?小弟再多新增一個方法讓來錄影

接上SD card

umount /dev/sda1

e2fsck /dev/sda1

mount /dev/sda1 /mnt

mjpg_streamer -i "input_uvc.so -d /dev/video0 " -o "output_http.so -p 8080 -o" -o "output_file12h.so -f /mnt -d 1000"

本次的演練就到此,有興趣的伙伴們,可以一起來探討和研究,謝謝。

?場景應用圖

62a39034-9466-11ed-ad0d-dac502259ad0.jpg

?產品實體圖

62bf61ba-9466-11ed-ad0d-dac502259ad0.jpg

?展示板照片

62d364e4-9466-11ed-ad0d-dac502259ad0.jpg62f99420-9466-11ed-ad0d-dac502259ad0.jpg

?方案方塊圖

6318a86a-9466-11ed-ad0d-dac502259ad0.jpg

?核心技術優勢

MA35D1 特色:

1. 核心為 A35與M4的集成,各司其職;

2. 獨立的加密島,系統更加安全;

3. 兩種封裝(LQFP與BGA),依照不同應用,多種選擇;

4. 內涵記憶體(128MB/256MB/512MB),不須外掛,簡化設計;

5. 界面豐富,應用多樣;

?方案規格

處理器(MPU): NUVOTON MA35D1;

網路接口 : 有線網路 RJ45 x2 (RGMII), 無線網路(SDIO WIFI module);

相機規格: 720P @ 30;

作業系統: OpenWRT。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19104

    瀏覽量

    304799
  • 系統
    +關注

    關注

    1

    文章

    1014

    瀏覽量

    21332
  • MA35D1
    +關注

    關注

    0

    文章

    5

    瀏覽量

    166
收藏 人收藏

    評論

    相關推薦

    飛凌嵌入式MA35D1核心板新品上市

    飛凌嵌入式與新唐攜手合作,基于MA35D1系列處理器推出FET-MA35-S2核心板,旨在為工程師用戶們提供更高效、更便捷的開發體驗!
    的頭像 發表于 12-10 10:38 ?245次閱讀
    飛凌嵌入式<b class='flag-5'>MA35D1</b>核心板新品上市

    上新!米爾-新唐MA35D1核心板512M DDR新配置發布!

    米爾2024年8月推出了基于新唐MA35D1芯片設計的嵌入式處理器模塊MYC-LMA35核心板及開發板。MA35D1是集成2個Cortex-A35
    發表于 11-08 18:01

    配置上新!米爾-新唐MA35D1核心板512M DDR配置發布!

    米爾2024年8月推出了基于新唐MA35D1芯片設計的嵌入式處理器模塊MYC-LMA35核心板及開發板。MA35D1是集成2個Cortex-A35
    的頭像 發表于 11-07 09:03 ?335次閱讀
    配置上新!米爾-新唐<b class='flag-5'>MA35D1</b>核心板512M DDR配置發布!

    米爾新唐MA35D1核心板搭載原生17路UART和4路CAN FD,適用多種應用場景

    米爾電子發布了基于新唐MA35D1處理器設計的MYC-LMA35核心板,MA35D1處理器集成了雙核Cortex-A35和Cortex-M4,原生17路UART和4路CAN FD接口,
    的頭像 發表于 10-21 14:24 ?313次閱讀
    米爾新唐<b class='flag-5'>MA35D1</b>核心板搭載原生17路UART和4路CAN FD,適用多種應用場景

    原生17路UART和4路CAN FD,解鎖新唐MA35D1多種應用場景

    米爾電子發布了基于新唐MA35D1處理器設計的MYC-LMA35核心板,MA35D1處理器集成了雙核Cortex-A35和Cortex-M4,原生17路UART和4路CANFD接口,可
    的頭像 發表于 10-11 09:45 ?637次閱讀
    原生17路UART和4路CAN FD,解鎖新唐<b class='flag-5'>MA35D1</b>多種應用場景

    原生支持17路UART和4路CAN FD,新唐MA35D1核心板發布!

    米爾發布基于新唐MA35D1芯片設計的嵌入式處理器模塊MYC-LMA35核心板及開發板,MA35D1是集成2個Cortex-A351個Co
    的頭像 發表于 08-30 11:49 ?541次閱讀
    原生支持17路UART和4路CAN FD,新唐<b class='flag-5'>MA35D1</b>核心板發布!

    米爾新唐MA35D1核心板發布!原生支持17路UART和4路CAN FD

    隨機數發生器,支持安全啟動和數據加密,確保系統安全性。 MA35D1核心板原生支持17路UART和4路CAN FD接口,無需額外擴展即可適合于需要大量串行通信和多路CAN總線連接的應用。除此之外
    發表于 08-16 17:27

    新唐MA35D1核心板-米爾開發板-原生支持17路UART和4路CAN FD

    MYC-LMA35核心板及開發板多核異構的新唐MA35D1核心板,賦能邊緣計算新唐MA35D1,雙核Cortex-A35和Cortex-M4,主頻最高達1.0GHz;擁有強大的處理能力
    發表于 08-15 16:03 ?2次下載

    全志D1s軟件入門之Tina Linux編譯教程

    的是 d1s_nezha 板子,也正是 D1s Nezha 開發板。輸入 5 回車即可。如果是其他板子,也可以輸入對應板子的序號選擇方案。 lunch 之后 SDK 會自動根據你所選擇的
    發表于 06-05 09:50

    【昉·星光 2 高性能RISC-V單板計算機體驗】Docker 中運行 OpenWrt

    ://forum.rvspace.org/t/visionfive2-v1-3b-openwrt-10/3275 傳送固件 下載好以后,主機上利用 scp 發送到開發板 scp
    發表于 02-26 21:04

    IP5389H+IP2723T適配器移動電源方案-AC獨立方案

    IP5389H+IP2723T_AC獨立方案包含一個USB-A接口和一個TYPE-C接口,方案使用IP5389H作為主控IC,IP2723T
    的頭像 發表于 01-31 17:30 ?2021次閱讀
    <b class='flag-5'>IP5389H+IP</b>2723T適配器移動電源<b class='flag-5'>方案</b>-AC獨立<b class='flag-5'>方案</b>

    MA35D1kernel上打RT-Linux補丁后,系統啟動有一個異常信息是怎么回事?

    kernel上打上RT-Linux補丁后,系統啟動有一個異常信息,見下: [ 5.098239] Nuvoton MA35D1 CAPLL/DDRPLL Cannot disabl
    發表于 01-15 08:07

    請問MA35D1的buildroot中uboot如何修改,以及uboot的開機畫面如何顯示?

    新塘MA35D1的官方軟件buildroot,修改uboot,按照官方文檔修改uboot配置項,make uboot-menuconfig。修改完成后,執行make rebuild,然后make
    發表于 01-15 08:02

    MA35D1 OpenWRT由nand切換到sdcard啟動不能build出pack.bin怎么解決?

    MA35D1 OpenWRT 由nand切換到sdcard啟動不能build出pack.bin
    發表于 01-15 07:29

    【飛騰派4G版免費試用】2飛騰派openwrt固件燒錄

    \\\\9-openwrt\\\\openwrt19.07-kernel4.19-phytiumpi-test(1.00 GB (1,073,741,824 字節)), LAN1-et
    發表于 12-27 21:37
    主站蜘蛛池模板: 欧美一区二区三区久久综| 天美麻豆成人AV精品| 国产精品久久久久婷婷五月色婷婷| 亚洲国产在线视频精品| 热思思| 精品美女国产互换人妻| YELLOW视频直播在线观看| 亚洲熟少妇在线播放999| 日韩性xxx| 免费人成网站永久| 灰原哀被啪漫画禁漫| 高hh乱亲女真实| 99精品国产AV一区二区麻豆| 亚洲成人三级| 十分钟免费视频大全在线| 男人J放进女人屁股免费观看| 国精产品一区一区三区有限| 粉嫩极品国产在线观看| 99视频在线国产| 18女下面流水不遮网站免费| 亚洲精品国产自在在线观看| 牲高潮99爽久久久久777| 欧美性喷潮xxxx| 美女搜查官被高难度黑人在线播放| 黄片长版看嘛| 国产中文字幕乱码免费| 国产第81页| 国产成年网站v片在线观看| www.国产精品视频| 99久久国产露脸国语对白| 中文字幕中文字幕永久免费| 幺妹视频福利视频| 亚洲乱码中文字幕久久孕妇黑人| 我与恶魔的h生活ova| 天天插天天舔| 午夜aaaa| 亚洲高清国产品国语在线观看| 天天躁夜夜踩很很踩2022| 玩弄放荡人妻一区二区三区| 视频一区精品自拍亚洲| 撕开美女的衣服2|