Სარჩევი:
- ნაბიჯი 1: Sipeed MAix: AI ზღვარზე
- ნაბიჯი 2: მოამზადეთ თქვენი გარემო
- ნაბიჯი 3: შეადგინეთ კოდი
- ნაბიჯი 4:.bin ფაილის ატვირთვა
- ნაბიჯი 5: დაკავშირება არდუინოსთან
- ნაბიჯი 6: ჟოლოს პითან დაკავშირება
- ნაბიჯი 7: დასკვნა
ვიდეო: AI კამერა Raspberry Pi/Arduino– სთვის: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
თუ თქვენ ბოლო დროს ადევნებთ თვალყურს ახალ ამბებს, იყო აფეთქება დამწყებებისთვის, რომლებიც ავითარებდნენ ჩიპებს ML (მანქანური სწავლების) ალგორითმების დასკვნის და სწავლების დასაჩქარებლად. თუმცა, ამ ჩიპების უმეტესობა ჯერ კიდევ დამუშავების პროცესშია და არა ის, რაც თქვენს საშუალო მწარმოებელს შეუძლია ხელში აიყვანოს. ჯერჯერობით ერთადერთი მნიშვნელოვანი გამონაკლისი იყო Intel Movidius Neural Compute Stick, რომელიც ხელმისაწვდომია შესყიდვისთვის და გააჩნია კარგი SDK. მას აქვს რამდენიმე მნიშვნელოვანი მინუსი - კერძოდ ფასი (დაახლოებით 100 აშშ დოლარი) და ის ფაქტი, რომ იგი მოდის USB სტიკტის ფორმატში. მშვენიერია თუ გსურთ მისი გამოყენება ლეპტოპთან ან ჟოლოს PI– ით, მაგრამ რა მოხდება, თუ გსურთ სურათების ამოცნობის პროექტების გაკეთება Arduino– სთან ერთად? თუ ჟოლო პი ნულოვანი?
ნაბიჯი 1: Sipeed MAix: AI ზღვარზე
არც ისე დიდი ხნის წინ მე მივიღე ხელი Sipeed M1w K210 განვითარების დაფაზე, რომელსაც აქვს ორმაგი ბირთვიანი RISC-V 64 ბიტიანი პროცესორი და გამოირჩევა ბორტ KPU (ნერვული ქსელის პროცესორი), სპეციალურად შექმნილია CNN– ის დაჩქარების მიზნით გამოსახულების დამუშავებისთვის. უფრო დეტალურად შეგიძლიათ წაიკითხოთ აქ.
ამ დაფის ფასმა გულწრფელად გამაოგნა, ეს არის მხოლოდ 19 აშშ დოლარი სრულფასოვანი AI-on-the-edge განვითარების დაფისთვის Wi-Fi მხარდაჭერით! თუმცა არის გაფრთხილება (რა თქმა უნდა არის): დაფის მიკროპითონის ფირმა ჯერ კიდევ დამუშავების პროცესშია და საერთო ჯამში ის ჯერჯერობით არც ისე მოსახერხებელია. მისი ყველა ფუნქციის წვდომის ერთადერთი გზა არის ჩაწეროთ თქვენი საკუთარი ჩაშენებული C კოდი ან შეცვალოთ ზოგიერთი არსებული დემო.
ეს გაკვეთილი განმარტავს, თუ როგორ გამოიყენოთ Mobilenet 20 კლასის გამოვლენის მოდელი ობიექტების აღმოსაჩენად და გამოგზავნილი ობიექტის კოდის გაგზავნისთვის UART– ით, საიდანაც მისი მიღება შესაძლებელია Arduino/Raspberry Pi– ს მიერ.
ახლა, ეს სამეურვეო ვარაუდობს, რომ თქვენ იცნობთ Linux- ს და C კოდის შედგენის საფუძვლებს. თუ ამ ფრაზის მოსმენამ ცოტა თავბრუსხვევა შეგიქმნათ:) მაშინ უბრალოდ გადადით მე –4 ნაბიჯზე, სადაც ატვირთავთ ჩემს წინასწარ აშენებულ ორობებს Sipeed M1– ში და გამოტოვებთ შედგენას.
ნაბიჯი 2: მოამზადეთ თქვენი გარემო
მე გამოვიყენე Ubuntu 16.04 C კოდის შედგენისა და ატვირთვისთვის. შესაძლებელია ამის გაკეთება Windows- ში, მაგრამ მე თვითონ არ მიცდია.
ჩამოტვირთეთ RISC-V GNU Compiler Toolchain, დააინსტალირეთ ყველა საჭირო დამოკიდებულება.
git clone-რეკურსიული
sudo apt-get ინსტალაცია autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
გადმოწერეთ გადმოწერილი ინსტრუმენტთა ქსელი /opt დირექტორია. ამის შემდეგ გაუშვით შემდეგი ბრძანებები
./configure --prefix =/opt/kendryte-toolchain-with-cmodel = medany
გააკეთოს
დაამატეთ/აირჩიე/kendryte-toolchain/bin თქვენს PATH– ში ახლა.
თქვენ უკვე მზად ხართ შეადგინოთ კოდი!
ნაბიჯი 3: შეადგინეთ კოდი
ჩამოტვირთეთ კოდი ჩემი github საცავიდან.
ჩამოტვირთეთ Kendryte K210 დამოუკიდებელი SDK
დააკოპირეთ /kpu საქაღალდე ჩემი github საცავიდან /src საქაღალდეში SDK– ში.
შეასრულეთ შემდეგი ბრძანებები SDK საქაღალდეში (არა /src საქაღალდე!)
mkdir build && cd build
cmake.. -DPROJ = პროექტის_სახელი -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make
სადაც project_name არის თქვენი პროექტის სახელი (თქვენზეა დამოკიდებული) და -DTOOLCHAIN = უნდა მიუთითებდეს თქვენი risc -v ინსტრუმენტთა ქსელის ადგილმდებარეობას (თქვენ გადმოწერეთ ეს lst ნაბიჯი, გახსოვთ?)
დიდი! ახლა იმედია ნახავთ შედგენას შეცდომების გარეშე დასრულებული და თქვენ გაქვთ.bin ფაილი, რომლის ატვირთვაც შეგიძლიათ.
ნაბიჯი 4:.bin ფაილის ატვირთვა
ახლა დააკავშირეთ თქვენი Sipeed M1 კომპიუტერთან და /build საქაღალდედან გაუშვით შემდეგი ბრძანება
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin
სადაც kpu.bin არის თქვენი.bin ფაილის სახელი
ატვირთვას ჩვეულებრივ 2-3 წუთი სჭირდება, მას შემდეგ რაც დაასრულებთ თქვენ იხილავთ დაფას, რომელიც მუშაობს 20 კლასის ამოცნობაზე. ჩვენთვის ბოლო ნაბიჯი არის მისი დაკავშირება Arduino მეგასთან ან ჟოლოს პითან.
!!! თუ თქვენ უბრალოდ წამოხვედით მე –2 საფეხურიდან !
გაუშვით შემდეგი ბრძანება საქაღალდედან, სადაც კლონირებული გაქვთ ჩემი github საცავი
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin
ატვირთვას ჩვეულებრივ 2-3 წუთი სჭირდება, მას შემდეგ რაც დაასრულებთ თქვენ იხილავთ დაფას, რომელიც მუშაობს 20 კლასის ამოცნობაზე. ჩვენთვის ბოლო ნაბიჯი არის მისი დაკავშირება Arduino მეგასთან ან ჟოლოს პითან.
ნაბიჯი 5: დაკავშირება არდუინოსთან
მე გამოვიყენე Arduino Mega ერთად Seeed Studio Mega Shield– ით, ამიტომაც გავამყარე Grove– ის კონექტორი Sipeed M1 დაფაზე. თუმცა თქვენ შეგიძლიათ უბრალოდ გამოიყენოთ ჯამპერის მავთულები და დააკავშიროთ Sipeed M1 პირდაპირ Arduino Mega– ს, ამ გაყვანილობის დიაგრამის შემდეგ.
ამის შემდეგ ატვირთეთ camera.ino ესკიზი და გახსენით სერიული მონიტორი. როდესაც კამერას მიანიშნებთ სხვადასხვა ობიექტზე (20 კლასის სია არის ესკიზში) მან უნდა მიუთითოს კლასის სახელი სერიულ მონიტორზე!
გილოცავთ! თქვენ უკვე გაქვთ გამოსახულების ამოცნობის მოდული თქვენი Arduino– სთვის!
ნაბიჯი 6: ჟოლოს პითან დაკავშირება
მე გამოვიყენე Grove Pi+ ქუდი Raspberry Pi 2B– სთვის, მაგრამ ისევ და ისევ, როგორც Arduino– სთან ერთად, თქვენ შეგიძლიათ პირდაპირ დაუკავშიროთ Sipeed M1 Raspberry Pi– ს UART ინტერფეისს ამ გაყვანილობის დიაგრამის შემდეგ.
კამერის_სპეკ.პის გაშვების და კამერის სხვადასხვა ობიექტებისკენ მიმართვის შემდეგ, ტერმინალი გამოაქვეყნებს შემდეგ ტექსტს "მე ვფიქრობ, რომ ეს არის" და ასევე თუ თქვენ გაქვთ დინამიკები დაკავშირებული, ის ამ ფრაზას ხმამაღლა იტყვის. საკმაოდ მაგარია, არა?
ნაბიჯი 7: დასკვნა
ეს არის ძალიან მნიშვნელოვანი დრო, როდესაც ჩვენ ვცხოვრობთ, როდესაც ინტელექტი და მანქანათმცოდნეობა აღწევს ჩვენი ცხოვრების ყველა სფეროს. მე ველოდები განვითარებას ამ სფეროში. მე ვაგრძელებ კონტაქტს Sipeed– ის გუნდთან და ვიცი, რომ ისინი აქტიურად ქმნიან მიკროპითონის გარსს ყველა საჭირო ფუნქციისთვის, მათ შორის CNN– ის დაჩქარებისთვის.
როდესაც ის მზად იქნება, მე გამოვაქვეყნებ უფრო მეტ ინსტრუქციას, თუ როგორ გამოიყენოთ თქვენი საკუთარი CNN მოდელები მიკროპითონთან ერთად. დაფიქრდით ყველა იმ საინტერესო პროგრამაზე, რომელიც შეიძლება გქონდეთ დაფაზე, რომელსაც შეუძლია აწარმოოს საკუთარი გამოსახულების დამუშავების ნერვული ქსელები ამ ფასად და ამ ნაკვალევით!
გირჩევთ:
სტეპერ სიჩქარის კონტროლის მენიუ მართულია Arduino– სთვის: 6 ნაბიჯი
სტეპერ სიჩქარის კონტროლის მენიუ მართულია Arduino– სთვის: ეს SpeedStepper ბიბლიოთეკა არის AccelStepper ბიბლიოთეკის გადაწერა, რათა შესაძლებელი გახდეს სტეპერიანი ძრავის სიჩქარის კონტროლი. SpeedStepper ბიბლიოთეკა გაძლევთ საშუალებას შეცვალოთ მითითებული ძრავის სიჩქარე და შემდეგ აჩქაროთ/შეანელოთ ახალი დაყენებული სიჩქარე იგივე ალგორიტის გამოყენებით
LoRa 3 კმ -დან 8 კმ -მდე უკაბელო კომუნიკაცია დაბალი ღირებულებით E32 (sx1278/sx1276) მოწყობილობა Arduino- სთვის, Esp8266 ან Esp32: 15 ნაბიჯი
LoRa 3 კმ -დან 8 კმ -მდე უკაბელო კომუნიკაცია დაბალი ღირებულებით E32 (sx1278/sx1276) მოწყობილობა Arduino, Esp8266 ან Esp32: მე ვქმნი ბიბლიოთეკას EBYTE E32- ის მართვისთვის LoRa მოწყობილობის Semtech სერიის საფუძველზე, ძალიან მძლავრი, მარტივი და იაფი მოწყობილობა. თქვენ შეგიძლიათ იპოვოთ 3 კმ ვერსია აქ, 8 კმ ვერსია აქ მათ შეუძლიათ იმუშაონ 3000 მ - დან 8000 მ - მდე მანძილზე და მათ აქვთ ბევრი მახასიათებელი
ეფექტური Java განვითარება Raspberry Pi– სთვის: 11 ნაბიჯი (სურათებით)
ეფექტური Java განვითარება Raspberry Pi– სთვის: ეს ინსტრუქცია აღწერს ძალიან ეფექტურ მიდგომას Raspberry Pi– სთვის Java პროგრამების შემუშავებისათვის. მე გამოვიყენე მიდგომა Java- ს შესაძლებლობების განვითარებისათვის, დაწყებული დაბალი დონის მოწყობილობის მხარდაჭერიდან დაწყებული, მრავალძირიანი და ქსელური პროგრამებით დამთავრებული. შემფასებელი
ZX Spectrum USB ადაპტერი Raspberry Pi RetroPie- სთვის: 5 ნაბიჯი (სურათებით)
ZX Spectrum USB Adapter for Raspberry Pi RetroPie Builds: RetroPie არის Linux– ის სპეციალური დისტრიბუცია, რომელიც სპეციალურად შექმნილია ჟოლოს პისზე და სხვა ერთ ბორტ კომპიუტერებზე რეტრო ვიდეო თამაშების სისტემების იმიტაციისთვის. მე უკვე დიდი ხანია მინდოდა ყველაფერზე წასვლა RetroPie მოდელზე და როდესაც დავინახე ეს რეპროდუქცია
"MicroDot" LattePanda– სთვის (ან Raspberry Pi): 7 ნაბიჯი (სურათებით)
"MicroDot" LattePanda– სთვის (ან Raspberry Pi): MicroDot არის სახლში დამზადებული Alexa ღილაკი, რომელიც შექმნილია LattePanda– სთან ან Raspberry Pi– თან დასაკავშირებლად, დაინსტალირებული Alexa Sample აპლიკაციით. ეს არის პატარა დინამიკი LED- ებით და შეხებით/მეტყველების გააქტიურებით და იდეალურია სამუშაო მაგიდაზე ან მანქანაში გამოსაყენებლად.