Python & automation for embedded engineer
1st course plan
1. Introduction
- Ground rule.
- Teach in English.
- Discuss in whatever language you want.
- We aim to make a real tools which can be used in daily work. So be prepared for real tasks.
- Code new thing in python. (Instead of fix an old tools written in perl, make or bash, most of the time it will be easier to dev new one in python)
- Why should we learn python?
- 1st programing language on github because of AI/ML trend.
- Copilot support very well for python.
- Easy to learn, maybe the most closed to human programming language.
- How to learn basic python?
- Ask AI: "Can you teach me python?"
- How will we learn this course?
- Hands on.
- Ask AI to do the work and explain to us.
Khi còn làm một công việc full-time mình muốn đóng gói những kinh nghiệm và kiến thức của mình học được vào trong một khóa học.
Escape gate: 15m passive income or 2030.
How:
- Dạy automation in automotive.
- Propose với Bogdan & Radu.
- Hướng dẫn Giang làm đồ án tốt nghiệp.
https://github.com/minhxuvi/python_automation_for_embedded_engineer (opens in a new tab)
Contents
Part 1.1
- Development environment setup
- AI copilot (Codeium)
- Jenkins
- Python basic >> TestBuilder
- Database
- Python Coding guideline
- Packaging python package
-
Python & GDB >> TestRunner
Part 1.2
- C basic (algorithm, data structure)
- Run on virtual hardware.
- Cmake
- Embedded C basic. (linker, startup, assembly, basic C) >> pub_sub baremetal
- C Coding guideline
- Linux user space basic >> pub_sub userspace
- Linux kernel basic >> pub_sub kernel
- RTOS basic >> pub_sub
Part 1.3
- Requirement management. (Markdown, ReqIf...)
- how to create a requirements traceability matrix report for a python project?
- Diagrams. (SVG)
- Pytest >> TestReport
- Traceability
Part 2
- Self-driving >> self-driving module
Part 3
- Mechanical design >> self-driving trike
Part 4
- IoT >> Delivery system >> Final scope for this project.
Part 5
- Maintain & Update by AI.
Part 6
- To production.
References
Embedded system development environment
http://minh.xuvi.vn/projects/embedded-system-development-environment (opens in a new tab)
- A template Git repository on Linux.
- https://fpt-software.udemy.com/course/cmake-tests-and-tooling-for-cc-projects/ (opens in a new tab)
- 1st sharing session
- A template Git repository on Windows with cygwin.
- Build Embedded C.
- GDB JTAG.
- 2nd sharing session
- Json schema validate.
- Static analysis Embedded C.
- 3rd sharing session
- Generate config files dynamically.
- 4th sharing session
- Build Yocto.
- Update Linux BSP OTA.
- 5th sharing session & Udemy course
Python project
- virtual environment
- vscode config
- pre-commit
C project
Jenkins
Python basic
Packaging python project
MongoDB database
Working with c project
Working with debugger
Self-driving bicycle
https://github.com/minhxuvi/python-project-template-generator (opens in a new tab) https://github.com/minhxuvi/python-project-template (opens in a new tab)
self-driving recumbent trikes Thứ mình cần làm là xây dựng lên một quy trình, chứ không phải là một dự án không.
Mình sẽ thực hành quy trình này đầu tiên là từ việc review lại cho dự án hiện tại. Tiếp theo là xây dựng một dự án mới.
https://github.com/users/minhxuvi/projects/2 (opens in a new tab)
Mình cần khởi tạo và build một dự án xe tự lái từ A-Z.
- Khởi tạo Project life cycle một cách chuẩn chỉ. Tham khảo các bước rõ ràng.
- Khởi tạo knowledge base.
- Tiếp tục học. Building a Self-Driving Go Kart - YouTube https://www.youtube.com/watch?v=PYFKGDfunfY (opens in a new tab)
Standard Production quality
- ASPICE
- IATF16949 Functional safety
- ISO26262 Security
- ISO/SAE 21434 AUTOSAR
Học cách làm xe tự lái
self-driving recumbent trikes
Điều kiện cần
- Python cơ bản
- Biết cách dùng Numpy cơ bản
Tài liệu tham khảo
https://www.youtube.com/watch?v=PYFKGDfunfY (opens in a new tab) https://www.udemy.com/course/autonomous-cars-deep-learning-and-computer-vision-in-python (opens in a new tab)
Bài 1: Tìm vạch kẻ đường với openCV
Học từ cơ bản
Basic Embedded Microcontroller Embedded C Programming: Absolute Beginners | Udemy
Course repository
https://github.com/niekiran/Embedded-C/ (opens in a new tab)
Download PPT of this course from here
https://github.com/niekiran/Embedded-C/tree/master/ppt (opens in a new tab)
Embedded Systems Programming on ARM Cortex-M3/M4 Processor (Bestselling course on 'ARM Cortex Mx' Topic)
Mastering Microcontroller with Embedded Driver Development (One of the most famous and bestselling course on 'Microcontrollers' Topic)
Mastering Microcontroller : TIMERS,PWM,CAN,RTC,LOW POWER and STM32 device HAL APIs (Highest rated course on 'Microcontrollers' Topic )
[NEW COURSE] Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)
Embedded System Design using UML State Machines
Mastering RTOS: Hands on with FreeRTOS, Arduino and STM32Fx (Bestselling course on 'RTOS' Topic)
Mastering Microcontroller DMA programming for Beginners (Highest rated course on Embedded Systems )
STM32Fx ARM Cortex Mx Custom Bootloader Development
Embedded Linux Step by Step using Beaglebone Black (Bestselling course on 'Embedded Linux' Topic)
Linux device driver programming using Beaglebone Black(LDD1) (Bestselling course on 'Embedded Linux' Topic)
Prompt engineer
Develop a python tools to pull code from a github repository. Replace all the files inside that folder Open a pull request to another git repository.
Xây dựng quy trình
Tài liệu tham khảo
https://www.istqb.org/ (opens in a new tab)
Các tiêu chuẩn cho lĩnh vực automotive
- Production quality
- ASPICE
- IATF16949
- Functional safety
- ISO26262
- Security
- ISO/SAE 21434
- AUTOSAR
Các bước trong vòng đời một dự án
- Lên ý tưởng
- Định nghĩa
- Lập kế hoạch
- Thực thi
- Đóng dự án
Các dự án open source đang theo dõi
- https://github.com/python (opens in a new tab)
- RISC-V (opens in a new tab)
- Linux (opens in a new tab)
- https://github.com/v8/v8 (opens in a new tab)
- https://github.com/chromium/chromium (opens in a new tab)
- https://github.com/vercel/next.js/ (opens in a new tab)
- https://github.com/openai/openai-python (opens in a new tab)
- IPCF (opens in a new tab)
- Github (opens in a new tab)
- iceoryx (opens in a new tab)
Các công cụ mình cần theo dõi tin tức thường xuyên
- Neuralink
- Generative AI adoption
- CICD
- Infrastructure as code
- Cloud provider
- Semiconductor news
- Organizational tools