با قسمت دهم از دوره ورود به دنیای امبدد لینوکس که دوره مقدماتی آموزش امبدد لینوکس می باشد همراه ما باشید.
(فصل دوم – بخش ششم)
در قسمتهای قبلی آموزش، مسیر حرکت و فصلهای پیش رو، بسیاری از مفاهیم مورد نیاز و سؤالها و ابهامات شما در این دوره پاسخ داده شده است.
پس اگر اولین بار است که این آموزش را شروع میکنید، با توجه به سلسله مراتب پیش بینی شده برای آموزشها، بهتر است از جلسه اول شروع کنید!
جلسه اول آموزش، ورود به دنیای امبدد لینوکس
ضمیمه ۱ آشنایی و راهاندازی اولیه بردهای رسپبری پای سه بی پلاس Raspberry Pi 3 B Plus و لیچی پای نانو Lichee Pi Nano
سلام بر همراهان عزیز
مسیر آموزش امبدد لینوکس Embedded Linux مسیر مستقیمی نیست. یعنی چی؟ یعنی مثلا وسط کار نیاز به اطلاعاتی هست که مربوط به آخر کار هست و کلا مطالب به هم وابسته هستن و حتی در هم تنیده.
برای تست کردن تولچینی Toolchain که قرار هست بسازیم نیاز داریم که روی بردمون لینوکس باشه. واسه همین، اینجا که در حقیقت ضمیمه ۱ هست یک سری توضیحات میدیم که بتونین بعد از ساختن کراس تولچین Cross Toolchain برنامه کامپایل شده رو روی برد واقعی تست کنید.
راهاندازی لیچی پای نانو Lichee Pi Nano و اجرای لینوکس روی این SD کارت دوست داشتنی اما دهان سوز
این برد چینی که به اندازه یک SD کارت هست از خیلی جهات چیز خوب و دوست داشتنی هست به جز قسمت مربوط به ساپورت و داکیومنتها!
به نظر من مثل یه پیتزای خیلی خوشمزه ست که اینقدر تند هست که نمیشه خوردش!
آدم رو هی وسوسه میکنه ولی یه گاز میزنی، میسوزی میذاریش کنار.
امکانات خوبی داره مثل OTG که البته فعالسازیش روی لینوکس و استفاده ازش مثل وصل کردن کارت Wi-Fi بهش هفت خان رستمی هست واسه خودش!
کانکتور LCD چهل پین که میشه راحت بهش LCD 480×272 رو وصل کرد و با تبدیل به همراه تغذیه مناسب میشه بهش LCDهای ۷ و ۱۰ اینچ رو وصل کرد و حتی با آی-سی تبدیل میشه بهش LCDهایی با پروتوکل LVDS رو وصل کرد.
فرکانسش ۹۰۰ مگاهرتز هست، ورودی خروجی تصویر آنالوگ داره، دیکدر H264 داره، کدک صوتی داره و خیلی امکانات دیگه که میتونید توی اینترنت ببینید و البته در کنار همه اینها خیلی ارزون هست. خیلی یعنی این که با پولش به زور میشه دو نفر پیتزا بخورن!
خب سادهترین راه واسه راهاندازی برد Lichee Pi Nano و اجرای لینوکس روش این مسیر هست:
از آنجایی که ممکنه هر زمان لینکهای دوستان چینی از بین برن ایمیج آماده رو از همینجا دانلود کنید.
بعد که دانلودش کردین از حالت فشرده خارجش کنید و بعد با این دستورات بریزیدش روی یه SD Card.
ممکنه بپرسید چه SD Card و با چه حجمی؟ هر SD Card و با هر حجمی بیشتر از یک گیگ!
1 | sudo dd if=/path/to/image/Nano_tf_480272.dd of=/dev/yourSD |
خوب واسه این که بدونید کارت حافظهتون آدرسش چی هست این دستور رو اجرا کنید:
1 | lsblk |
مثلا من روی سیستم خودم این رو توی خروجی این دستور دارم به اضافه یه سری چیزهای دیگه
1 2 3 4 5 | sdg 8:96 1 1.9G 0 disk ├─sdg1 8:97 1 16M 0 part /media/at00/DFDB-921A └─sdg2 8:98 1 183M 0 part /media/at00/22321465-d8e4-433a-bd2c-e9dfc63a4ff8 |
پس واسه من میشه
1 | sudo dd if=/path/to/image/Nano_tf_480272.dd of=/dev/sdg |
هشدار
این آدرس رو با دقت پیدا کنید چون اگه اشتباهی یه درایو دیگه رو انتخاب کنید امکان به فنا رفتن اطلاعات وجود داره!
پارامترهای دیگهای هم میشه به این دستور داد ولی خودتون برید دنبالش. کلا dd موجود بدردبخوری هست!
بعد از تمام شدن کار این دستور رو اجرا کنید.
1 | sync |
حالا پایهی Rx مبدل رو به E1 برد و Tx مبدل رو به E0 برد وصل کنید و مبدل رو به کامپیوتر وصل کنید و minicom رو باز کنید.
اگه با minicom آشنایی ندارین ممکنه این دو خط همه کار کنه واستون ممکن هم هست نکنه و نیاز به گوگل پیدا بکنین!
1 2 3 | sudo apt-get install minicom sudo minicom –D /dev/ttyUSB0 |
خوب حالا SD Card رو به برد وصل کنید و تغذیه برد رو هم بهش وصل کنید میتونید هم LCD 480×272 اگه دارید بهش وصل کنید.
اطلاعات لاگین:
1 2 3 | Usernme: root Password: licheepi |
پس از لاگین کردن با این دستور ببنید نسخه لینوکستون چند هست:
1 2 3 4 5 6 | cat /proc/version Linux version 4.15.0-rc8-licheepi-nano+ (root@biglion-MRC-WX0) (gcc version 7.2.0 (Ubuntu/Linaro 7.2.0-6ubuntu1)) #69 Wed Apr 4 17:47:49 CST 2018 |
اگه LCD رو هم وصل کردین اجرای این دستور میتونه واستون جذابیت داشته باشه!
1 | /root/littlevgl_demo/littlevgl_demo_with_wallpaper |
تمام! به همین سادگی!
فقط نکته تلخی که در مورد این برد وجود داره با توجه به اطلاعات الان و امکاناتمون برای این که برنامه جدید روی برد بریزیم باید SD Card رو در بیاریم و به کامپیوتر وصل کنیم و برنامه رو بریزیم روش!
راه اندازی رسپبری پای سه بی پلاس Raspberry Pi 3 B Plus و اجرای لینوکس 64 بیتی روی بدترین خرید الکترونیکی زندگی من!
من همیشه فکر میکردم اون هویه دسته چوبیهایی که بچه بودم میخریدم و یه هفتهای میسوخت بدترین خریدهای الکترونیکی من بودن تا واسه این آموزش مجبور شدم رسپبری پای سه بی پلاس Raspberry Pi 3 B Plus رو بخرم!
این که چرا اینقدر بده رو بگذریم ازش فقط اوصیکم به اینکه تا حالا دیدین خیر این روباه پیر به دنیا برسه که انتظار دارین بنیاد Raspberry Piش خیری بخواد برسونه؟!
بریم سراغ مراحل:
هنوز نسخه استیبلی که 64 بیتی باشه بنیاد گرامی ارائه نداده!!!
فعلا نسخه بتا رو از این جا دانلود کنین و بقیه مراحل مثل آماده سازی SD Card واسه لیچی پای نانو Lichee Pi Nano هست.
https://www.raspberrypi.org/forums/viewtopic.php?t=275370
در انتها یک فایل خالی با عنوان ssh بسازید و کپی کنید توی پارتیشن بوت SD Card.
این کار واسه این هست که ارتباط ما با رسپبری پای سه بی پلاس Raspberry Pi 3 B Plus از طریق ssh خواهد بود.
کارت حافظه رو بگذارید و یه منبع تغذیه حداقل دو آمپری بهش وصل کنید و با کابل LAN به مودمتون وصلش کنید.
سوال: راه گرافیکی واسه این کار نیست؟
جواب: بله هست ?
منتهی من نه موس و کیبرد اضافه دارم و نه مانتیور و اگه داشتم هم حوصله نداشتم که همه اینها رو به این برد وصل کنم تا بتونم بهش ssh بزنم! ?
سوال: من مودم ندارم آیا نمیشه به لپ تاپ وصلش کرد؟
جواب: بله میشه
منتهی یا باید لپ تاپتون بهش IP بده یا IP هر دو رو استاتیک و توی یه رنج بگذارید.
سوال: من مودم ندارم و لپ تاپ هم کانکتور RJ45 نداره راه دیگهای نیست؟
جواب: در وهله اول برادر من، کسی با پاشنه بلند کوهنوردی نمیره، لپ تاپ شما مناسب این کارها نیست، ولی میشه!
لپ تاپت رو تبدیل به Access Point کن و برد رو از طریق Wi-Fi به لپ تاپت وصل کن.
سوال: وقتی هیچ راه ارتباطی با برد ندارم چه جوی Wi-Fiش رو به لپ تاپم وصل کنم؟
جواب: فایلی وجود داره در کارت حافظه و پارتیشن rootfs که با آن خواهی توانست! گوگل ایت!
پس از این که با برد در یک شبکه قرار گرفتید از طریق دستور زیر به برد وصل بشید کلمه عبور هم raspberry هست:
1 | ssh pi@<rpi3bp IP> |
پایان بخش ششم از فصل دوم
سلام!
یه راه حل خفن برای مشکل حوصله سربر درآوردن کارت SD و نوشتن ایمیج جدید!
فقط نمیدونم چطوری کار میکنه ::))))
Sipeed Lichee Nano wifi
youyeetoo.com/products/sipeed-lichee-nano?VariantsId=11317
سلام. اونطور که شما فکر میکنید کار نمیده ! 🙂
در اصل پروتکل این ماژول وای فای که استفاده کرده sdio هست که با پروتکل sd card یکی هست و از اونجایی که f1c100 فقط یک sdio داره ، جوری pcb رو طراحی کرده که به جای sd بخوره و در حقیقت این یه ماٰژول wifi هست.
حالا image ما کجا میره ؟؟؟!!
روی spi flash
سلام و وقت بخیر بنده نمیتونم فایل داخل کارت بریزم ارور پیدا نکردن فایل بهم میده نمیتونه فایل باز کنه تو ترمینال لینوکس هستم!
سلام متوجه سوالتون نمیشم.
متن ارور رو بفرستید
این متن ترمینال هست dd: failed to open ‘/path/to/image/Nano_tf_480272.dd’: No such file or directory
این ارور دارم dd: failed to open ‘/path/to/image/Nano_tf_480272.dd’: No such file or directory
سلام وقتتون بخیر
ادرسی که توی مقاله هست یه ادرس به عنوان مثال هست.
شما باید ادرس درست روی سیستم خودتون رو توی ترمینال بنویسید
/path/to/image/
این قسمت رو با توجه به سیستم خودتون باید تغییر بدین
موفق باشین
سلام. من یه lcd ده اینج 50 پین دارم. با چه مبدلی میتونم به کانکتور 40 پین بورد licheepi وصلش کنم؟
تو سایت آیسی میتونید سرچ کنید تبدیل ۴۰ پین به ۵۰ پین و نتیجه های جالبی رو ببینید
مثل تبدیل فلت LCD
سلام من یک نسخه دیگه از این برد رو خریدم تحت عنوان licheepi zero second generation که این برد یک lan روشه و انگار وای فای هم داره اما … چطور راه اندازی میشه ؟
فکر کنم اون بردی که شما خریداری کردید پردازنده اش فرق میکنه و v3s است که لن رو خودش پشتیبانی میکنه
درود بنده هم همین برد رو دارم و اگر یه آموزش نصب ایمیج بر روی اس دی کارت این مدل هم بذارید خیلی ممنون میشم!
سلام وقتتون بخیر
مدت زیادی از سوالتون میگذره و احتمالا خودتون به راه حل رسید 🙂
موفق باشید.
چند روز قبل باری کار با raspberry pi zero w مجبور شدم اینا رو یاد بگیرم ولی از جای دیگه … ولی انصافا رزبری رو دور نندازش گناه داره 🙂 خخخ 🙂
سلام پویا جان
ابزار، ابزار باشه،در جای خودش به کار هم میاد ?
ما تعصبی روی ابزار خاصی نداریم
سلام این آموزش پیدا میکنه؟
مطالب خوبی ارائه شد تا اینجا امیدوارم یه مقدار بیشتر بریم جلو تا حداقل سرنخ دستمون بیاد و بقیه راه رو ادامه بدیم
ممنون از لطف شما
سلام احسان جان
تشکر می کنم بابت پیگیری شما
بله ادامه دارد، همه ما سخت درگیر کارها هستیم و مطالب این مقاله هم در حال تست و پیاده سازی هست تا به مرحله نشر برسد
شما از تمرین غافل نشوید
سلام
minicom که منو اذیت کرد ولی با PUTTY راحت متصل شدم
سلام بر محمد مهدی عزیز
مهم حل شدن مسئله هست که حلش کردین 🙂 آفرین بر شما و پیگیر بودنتان
تندرست باشید
برای ساختن toolchain و نوشتن برنامه ای که بشه روی licheepi اجرا کرد نیاز به sdk و فایلهای سورس سخت افزار داریم ( البته تا جایی که اطلاع دارم) من خیلی گشتم دنبالش ولی به حوابی نرسیدم(یا شاید درست نگشتم) راهی براش دارید. چطوری بدستش بیارم؟
ممنون میشم راهنمایی بفرمایید.
سلام و عرض ادب
در این قسمت:
“امبدد لینوکس – قسمت هفتم – Toolchain یا زنجیرهای از ابزارهای لازم برای ساختن همه چیز (بخش سوم)”
https://sisoog.com/2020/08/11/%d8%a7%d9%85%d8%a8%d8%af%d8%af-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3-%d9%82%d8%b3%d9%85%d8%aa-%d9%87%d9%81%d8%aa%d9%85-toolchain-%d9%88-%d9%be%d8%b1%d8%af%d8%a7%d8%b2%d9%86%d8%af%d9%87/
توضیح داده شده که برای ساختن تولچین نیازی به داشتن اطلاعاتی در مورد سازنده پردازنده نیست
تا آخر این فصل چند برنامه را برای برد لیچیپای آماده و اجرا خواهیم کرد که همگی بر روی ایمیج ارایه شده در این قسمت قابل اجرا هستند.
یکی از مشکلات استفاده از SD کارت ها در رسپری و بردهای مشابه خاموش شدن ناگهانی برد و عدم بالا آمدن برد در بوت بعدی هست و معمولا چاره ای جز فرمت مجدد کارت حافظه نیست و علتشم کند بودن نوشتن اطلاعات برروی کارت حافظه هست . من برای اینکار از باتری پشتیبان و چک کردن مقدار باتری استفاده میکنم که این هزینه تقریبا زیادی به پروژه اضافه میکنه . آیا راه دیگه ای هست ؟
سلام بر شما
مسئله قطع شدن ناگهانی تغذیه یک مسئله همیشگی در سیستمهای امبدد هست.
فایل سیستمهای مخصوصی برای این موضوع از چندین سال پیش به وجود آمده و توسعه پیدا کرده اند که البته مخصوص MTD هستند.
بنده تا به حال دنبال حل این مسئله برای بردهایی با حافظه SD نبودم ولی به صورت نرمافزاری میتونه قابل حل باشه.
موفق باشید و سرافراز
از سوپر خازن استفاده کنید و یه مدار بکاپ داشته باشید که به محظ قطع برق تشخیص داده بشه همه چی ذخیره بشه و تمام با یه ابر خازن حدود 4-5 ثانیه زمان میتوند بخرید از باتری هم ارزونتر هست
متشکر احسان جان
سلام مجدد من با نرم افزار Win32 Disk Imager فایل را ریختم روی دو تا اس دی کارت یکی ۲ گیگو یکی ۳۲ گیگ هر جفتش یک مشکل میخوره موقع بالا اومدن گیر میکنه اولش را تو ترمینال سریال درست نشون میده ولی همون صفحه اول که روی ال سی دی علامت لینوکس را نشان میده گیر میکنه!
اطلاعاتی هم که تو دیباگ سریال میاد اینه
U-Boot SPL 2018.01-05676-g00188782ee (Apr 08 2018 – 16:10:25)
DRAM: 32 MiB
Trying to boot from MMC1
U-Boot 2018.01-05676-g00188782ee (Apr 08 2018 – 16:10:25 +0800) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 32 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning – bad CRC, using default environment
Setting up a 480×272 lcd console (overscan 0x0)
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB…
No controllers found
بعد از اینها هم دیگه چرت و پرت میاد و قفل میکنه
سلام و آفرین
دلایل بسیاری ممکنه باعث بشه
از تغذیه مدار و جریان دهی مناسب آن مطمئن شوید و تغذیه برد رو از شارژر / اداپتور 5 ولت مناسب تامین کنید.
ایمیجهای بسیاری در اینترنت و گیتهاب برای این برد هست اونها رو هم تست کنید.
و مهمتر از همه برای آماده سازی کارت حافظه از لینوکس استفاده کنید نه ویندوز.
موفق باشید
سلام خیلی عالی بود فقط اگه بتونید فیلم مراحل عملی را همضمیمهکنید که اشتباه نشه خیلی عالی میشه
سلام بر مهدی
تشکر می کنم از شما بابت پیگیری البته اولویت ما در نوشتن و تکمیل مقالات هست ولی اگر فرصتی ایجاد شد فیلم هم گذاشته خواهد شد.
سلام
بسیار عالی
همیشه چالش هاست که آدم ها رو میسازه
واسه همین یه دونه orangepi داشتم که گذاشتم کنار (دست یکی از دوستان هست )
الان یه دونه leechipi سفارش دادم و یه دونه تاچ و lcd 7 اینچ دارم که میخوام روی اون کار رو شروع کنم
دوست دارم بتونم خودم لینوکس رو کامپایل کنم بریزم روی بورد و در آخر بتونم خودم بورد بزنم که دیگه تمام راه رو رفته باشم
تازه آموزش ها داره به جاهای خوبش میرسه به نظرم که متاسفانه هنوز بورد من بدستم نرسیده
دوستان الکترونیک کار یا کامپیوتری بیشتر کارهایی که سنگین میشه یا با میکرو نمیشه انجام داد (بیشترشون رو هم میشه ) رو با رزبری انجام میدن ولی نمیدونم چرا دید من نسبت به رزبری شبیه به آردواینو هست (البته نه IDE بلکه سخت افزار های آماده ای که تو بازار به اسم آردواینو هست) و حس خوبی بهش ندارم
اگر امکانش هست یه توضیح خیلی مختصر بدید درمورد این که چرا شما از رزبری خوشتون نمیاد
ممنون از آموزش بسیار خوب و کاربردی شما
سلام بر احسان
خوشحالم که پای کار هستید و مشغول فعالیت
در مورد رزپری تا حدی توی مقاله اشاره شد، از بحثهای فنی که بگذریم دلیل اصلی شخص بنده گمراه کردن و ایجاد تصور اشتباه از دنیای امبدد لینوکس هست.
ولی شما به تلاش هات و کسب مهارت ادامه بده، این مباحث حاشیه است.
من هم نمیدونم تا حالا چه پروژه مفیدی با رزبری انجام شده که به مرحله تولید برسه؟ یعنی ندیدم