ಪೈಥಾನ್ನೊಂದಿಗೆ ಎಂಬೆಡೆಡ್ ಸಿಸ್ಟಮ್ಗಳ ಜಗತ್ತನ್ನು ಅನ್ವೇಷಿಸಿ. ಈ ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿ ಮೈಕ್ರೋಪೈಥಾನ್, ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್, ಹಾರ್ಡ್ವೇರ್ ಏಕೀಕರಣ ಮತ್ತು ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರಿಗೆ ನೈಜ-ಪ್ರಪಂಚದ ಯೋಜನೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
ಮೆಟಲ್ನಲ್ಲಿ ಪೈಥಾನ್: ಎಂಬೆಡೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮತ್ತು ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಏಕೀಕರಣದ ಆಳವಾದ ಅಧ್ಯಯನ
ದಶಕಗಳಿಂದ, ಎಂಬೆಡೆಡ್ ಸಿಸ್ಟಮ್ಗಳ ಜಗತ್ತು - ಸ್ಮಾರ್ಟ್ವಾಚ್ಗಳಿಂದ ಕೈಗಾರಿಕಾ ಯಂತ್ರೋಪಕರಣಗಳವರೆಗೆ ಎಲ್ಲವನ್ನೂ ಚಾಲನೆ ಮಾಡುವ ಸಣ್ಣ ಕಂಪ್ಯೂಟರ್ಗಳು - C, C++, ಮತ್ತು ಅಸೆಂಬ್ಲಿಯಂತಹ ಕಡಿಮೆ-ಮಟ್ಟದ ಭಾಷೆಗಳ ವಿಶೇಷ ಡೊಮೇನ್ ಆಗಿತ್ತು. ಈ ಭಾಷೆಗಳು ಸಾಟಿಯಿಲ್ಲದ ನಿಯಂತ್ರಣ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ನೀಡುತ್ತವೆ, ಆದರೆ ಅವು ಕಡಿದಾದ ಕಲಿಕೆಯ ರೇಖೆ ಮತ್ತು ದೀರ್ಘ ಅಭಿವೃದ್ಧಿ ಚಕ್ರಗಳೊಂದಿಗೆ ಬರುತ್ತವೆ. ಸರಳತೆ, ಓದುವ ಸಾಮರ್ಥ್ಯ ಮತ್ತು ವಿಶಾಲ ಪರಿಸರ ವ್ಯವಸ್ಥೆಗೆ ಹೆಸರುವಾಸಿಯಾದ ಪೈಥಾನ್ ಅನ್ನು ನಮೂದಿಸಿ. ಒಮ್ಮೆ ವೆಬ್ ಸರ್ವರ್ಗಳು ಮತ್ತು ಡೇಟಾ ಸೈನ್ಸ್ಗೆ ಸೀಮಿತವಾಗಿದ್ದ ಪೈಥಾನ್ ಈಗ ಹಾರ್ಡ್ವೇರ್ನ ಹೃದಯಕ್ಕೆ ಪ್ರಬಲವಾದ ತಳ್ಳುವಿಕೆಯನ್ನು ಮಾಡುತ್ತಿದೆ, ಇದು ವಿಶ್ವಾದ್ಯಂತ ಡೆವಲಪರ್ಗಳು, ಹವ್ಯಾಸಿಗಳು ಮತ್ತು ಆವಿಷ್ಕಾರಕರ ಹೊಸ ಪೀಳಿಗೆಗೆ ಎಲೆಕ್ಟ್ರಾನಿಕ್ಸ್ ಅನ್ನು ಪ್ರಜಾಪ್ರಭುತ್ವಗೊಳಿಸುತ್ತದೆ.
ಪೈಥಾನ್ ಎಂಬೆಡೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ನ ಉತ್ತೇಜಕ ಜಗತ್ತಿಗೆ ಈ ಮಾರ್ಗದರ್ಶಿ ನಿಮ್ಮ ಸಮಗ್ರ ಪರಿಚಯವಾಗಿದೆ. ಪೈಥಾನ್ನಂತಹ ಉನ್ನತ-ಮಟ್ಟದ ಭಾಷೆ ಹಾರ್ಡ್ವೇರ್ ಅನ್ನು ನೇರವಾಗಿ ಹೇಗೆ ನಿಯಂತ್ರಿಸಬಹುದು ಎಂಬುದನ್ನು ನಾವು ಅನ್ವೇಷಿಸುತ್ತೇವೆ, ಇದನ್ನು ಸಾಧ್ಯವಾಗಿಸುವ ಪ್ರಮುಖ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳನ್ನು ತನಿಖೆ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಸಾಫ್ಟ್ವೇರ್ನಿಂದ ಸಿಲಿಕಾನ್ಗೆ ನಿಮ್ಮ ಪ್ರಯಾಣವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳ ಮೂಲಕ ನಡೆಯುತ್ತೇವೆ.
ಪೈಥಾನ್ ಎಂಬೆಡೆಡ್ ಪರಿಸರ ವ್ಯವಸ್ಥೆ: ಕೇವಲ CPython ಗಿಂತ ಹೆಚ್ಚು
ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ನೀವು ಬಳಸುವ ಪ್ರಮಾಣಿತ ಪೈಥಾನ್ ಅನ್ನು (CPython ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ) ನೀವು ಸರಳವಾಗಿ ಒಂದು ವಿಶಿಷ್ಟ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ಗೆ ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಈ ಸಾಧನಗಳು ಅತ್ಯಂತ ಸೀಮಿತ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹೊಂದಿವೆ - ನಾವು ಕಿಲೋಬೈಟ್ಗಳ RAM ಮತ್ತು ಮೆಗಾಹರ್ಟ್ಜ್ ಪ್ರೊಸೆಸಿಂಗ್ ಪವರ್ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಿದ್ದೇವೆ, ಇದು ಆಧುನಿಕ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ಗಿಗಾಬೈಟ್ಗಳು ಮತ್ತು ಗಿಗಾಹರ್ಟ್ಜ್ಗಳಿಗೆ ತದ್ವಿರುದ್ಧವಾಗಿದೆ. ಈ ಅಂತರವನ್ನು ಕಡಿಮೆ ಮಾಡಲು, ಪೈಥಾನ್ನ ವಿಶೇಷ, ತೆಳ್ಳಗಿನ ಅನುಷ್ಠಾನಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ.
ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ಗಳಿಗಾಗಿ ಮೈಕ್ರೋಪೈಥಾನ್: ಪೈಥಾನ್
ಮೈಕ್ರೋಪೈಥಾನ್ ಎನ್ನುವುದು ಪೈಥಾನ್ 3 ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಸಂಪೂರ್ಣ ಪುನಃ ಬರೆಯುವಿಕೆಯಾಗಿದ್ದು, ನಿರ್ಬಂಧಿತ ಹಾರ್ಡ್ವೇರ್ನಲ್ಲಿ ಚಲಾಯಿಸಲು ಹೊಂದುವಂತೆ ಮಾಡಲಾಗಿದೆ. ಡಾಮಿಯನ್ ಜಾರ್ಜ್ ರಚಿಸಿದ ಇದು ಹಾರ್ಡ್ವೇರ್ಗೆ ನೇರ, ಕಡಿಮೆ-ಮಟ್ಟದ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುವಾಗ ಪ್ರಮಾಣಿತ ಪೈಥಾನ್ನೊಂದಿಗೆ ಸಾಧ್ಯವಾದಷ್ಟು ಹೊಂದಿಕೆಯಾಗುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ.
- ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು: ಇದು ಸಂವಾದಾತ್ಮಕ ರೀಡ್-ಇವಾಲ್-ಪ್ರಿಂಟ್ ಲೂಪ್ (REPL) ಅನ್ನು ಒಳಗೊಂಡಿದೆ, ಇದು ಕಂಪೈಲೇಷನ್ ಹಂತವಿಲ್ಲದೆ ಬೋರ್ಡ್ಗೆ ಸಂಪರ್ಕಿಸಲು ಮತ್ತು ಕೋಡ್ ಲೈನ್-ಬೈ-ಲೈನ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ, ಸಣ್ಣ ಮೆಮೊರಿ ಹೆಜ್ಜೆಗುರುತನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ನೇರ ಹಾರ್ಡ್ವೇರ್ ನಿಯಂತ್ರಣಕ್ಕಾಗಿ (GPIO, I2C, SPI, ಇತ್ಯಾದಿ)
machineನಂತಹ ಪ್ರಬಲ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. - ಯಾವುದಕ್ಕಾಗಿ ಉತ್ತಮ: ಗರಿಷ್ಠ ಕಾರ್ಯಕ್ಷಮತೆ, ಹಾರ್ಡ್ವೇರ್ನ ಮೇಲೆ ಉತ್ತಮವಾದ ನಿಯಂತ್ರಣ ಮತ್ತು ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ಗಳಾದ್ಯಂತ ಹೊಂದಾಣಿಕೆಯನ್ನು ಬಯಸುವ ಡೆವಲಪರ್ಗಳು. ಇದು "ಮೆಟಲ್" ಗೆ ಹತ್ತಿರದಲ್ಲಿದೆ ಮತ್ತು ಹೆಚ್ಚಾಗಿ ಹೆಚ್ಚು ಕಾರ್ಯಕ್ಷಮತೆ-ನಿರ್ಣಾಯಕ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಒಲವು ತೋರುತ್ತದೆ.
ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್: ಬಿಗಿನರ್-ಫ್ರೆಂಡ್ಲಿ ಪವರ್ಹೌಸ್
ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ ಮೈಕ್ರೋಪೈಥಾನ್ನ ಒಂದು ಫೋರ್ಕ್ ಆಗಿದ್ದು, ಇದನ್ನು ನೀವೇ ಮಾಡಿ (DIY) ಎಲೆಕ್ಟ್ರಾನಿಕ್ಸ್ ಜಾಗದಲ್ಲಿ ಪ್ರಮುಖ ಕಂಪನಿಯಾದ ಆಡಾಫ್ರೂಟ್ ರಚಿಸಿದೆ ಮತ್ತು ನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಮೈಕ್ರೋಪೈಥಾನ್ನೊಂದಿಗೆ ಕೋರ್ ಅನ್ನು ಹಂಚಿಕೊಂಡರೂ, ಅದರ ತತ್ವವು ಬಳಕೆಯ ಸುಲಭತೆ ಮತ್ತು ಶಿಕ್ಷಣದ ಮೇಲೆ ಕೇಂದ್ರೀಕೃತವಾಗಿದೆ.
- ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು: ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ಗೆ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಅನ್ನು ಹೇಗೆ ಪ್ರಸ್ತುತಪಡಿಸುತ್ತದೆ ಎಂಬುದು ಪ್ರಮುಖ ಲಕ್ಷಣವಾಗಿದೆ. ನೀವು ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ ಬೋರ್ಡ್ ಅನ್ನು ಪ್ಲಗ್ ಇನ್ ಮಾಡಿದಾಗ, ಅದು ಸಣ್ಣ USB ಡ್ರೈವ್ನಂತೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ನೀವು ಈ ಡ್ರೈವ್ನಲ್ಲಿ ನಿಮ್ಮ
code.pyಫೈಲ್ ಅನ್ನು ಸರಳವಾಗಿ ಎಡಿಟ್ ಮಾಡಿ ಮತ್ತು ಉಳಿಸಿ; ಬೋರ್ಡ್ ಮರುಲೋಡ್ ಆಗುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಹೊಸ ಕೋಡ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರನ್ ಮಾಡುತ್ತದೆ. ಇದು ಎಲ್ಲಾ ಬೆಂಬಲಿತ ಬೋರ್ಡ್ಗಳಲ್ಲಿ ಏಕೀಕೃತ API ಅನ್ನು ಸಹ ಹೊಂದಿದೆ, ಅಂದರೆ ಒಂದು ಬೋರ್ಡ್ನಲ್ಲಿ ಸಂವೇದಕವನ್ನು ಓದುವ ಕೋಡ್ ಕನಿಷ್ಠ ಬದಲಾವಣೆಗಳೊಂದಿಗೆ ಇನ್ನೊಂದರಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. - ಯಾವುದಕ್ಕಾಗಿ ಉತ್ತಮ: ಆರಂಭಿಕರಿಗಾಗಿ, ಶಿಕ್ಷಣತಜ್ಞರಿಗೆ ಮತ್ತು ತ್ವರಿತ ಮೂಲಮಾದರಿಯ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿದ ಯಾರಿಗಾದರೂ. ಕಲಿಕೆಯ ರೇಖೆಯು ಸೌಮ್ಯವಾಗಿರುತ್ತದೆ ಮತ್ತು ಆಡಾಫ್ರೂಟ್ ಒದಗಿಸಿದ ವ್ಯಾಪಕ ಲೈಬ್ರರಿ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯು ಸಂವೇದಕಗಳು, ಡಿಸ್ಪ್ಲೇಗಳು ಮತ್ತು ಇತರ ಘಟಕಗಳನ್ನು ನಂಬಲಾಗದಷ್ಟು ಸರಳಗೊಳಿಸುತ್ತದೆ.
ಮೈಕ್ರೋಪೈಥಾನ್ vs. ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್: ತ್ವರಿತ ಹೋಲಿಕೆ
ಅವುಗಳ ನಡುವೆ ಆಯ್ಕೆ ಮಾಡುವುದು ಹೆಚ್ಚಾಗಿ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಗುರಿಗಳು ಮತ್ತು ಅನುಭವದ ಮಟ್ಟಕ್ಕೆ ಬರುತ್ತದೆ.
- ತತ್ವಶಾಸ್ತ್ರ: ಮೈಕ್ರೋಪೈಥಾನ್ ಹಾರ್ಡ್ವೇರ್-ನಿರ್ದಿಷ್ಟ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಆದ್ಯತೆ ನೀಡುತ್ತದೆ. ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ ಸರಳತೆ, ಸ್ಥಿರತೆ ಮತ್ತು ಕಲಿಕೆಯ ಸುಲಭತೆಗೆ ಆದ್ಯತೆ ನೀಡುತ್ತದೆ.
- ಕಾರ್ಯವಿಧಾನ: ಮೈಕ್ರೋಪೈಥಾನ್ನೊಂದಿಗೆ, ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಸಾಧನದ REPL ಗೆ ಸಂಪರ್ಕಿಸಲು ಮತ್ತು ಫೈಲ್ಗಳನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಲು ಥೋನಿಯಂತಹ ಉಪಕರಣವನ್ನು ಬಳಸುತ್ತೀರಿ. ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ನೊಂದಿಗೆ, ನೀವು USB ಡ್ರೈವ್ಗೆ
code.pyಫೈಲ್ ಅನ್ನು ಎಳೆಯಿರಿ ಮತ್ತು ಬಿಡಿ. - ಹಾರ್ಡ್ವೇರ್ ಬೆಂಬಲ: ಮೈಕ್ರೋಪೈಥಾನ್ ಅನೇಕ ತಯಾರಕರಿಂದ ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಬೋರ್ಡ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ ಪ್ರಾಥಮಿಕವಾಗಿ ಆಡಾಫ್ರೂಟ್ ಮತ್ತು ಆಯ್ದ ಥರ್ಡ್-ಪಾರ್ಟಿ ಪಾಲುದಾರರಿಂದ ಬೋರ್ಡ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಆದರೆ ಅದರ ಬೆಂಬಲವು ಆಳವಾಗಿದೆ ಮತ್ತು ಉತ್ತಮವಾಗಿ ದಾಖಲಿಸಲ್ಪಟ್ಟಿದೆ.
- ಲೈಬ್ರರಿಗಳು: ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ ದೊಡ್ಡದಾದ, ಕ್ಯುರೇಟೆಡ್ ಲೈಬ್ರರಿಗಳ ಗುಂಪನ್ನು ಹೊಂದಿದ್ದು ಅದನ್ನು ಸ್ಥಾಪಿಸಲು ಸುಲಭವಾಗಿದೆ. ಮೈಕ್ರೋಪೈಥಾನ್ ಲೈಬ್ರರಿಗಳು ಸಹ ಲಭ್ಯವಿವೆ ಆದರೆ ಹೆಚ್ಚು ವಿಘಟಿತವಾಗಬಹುದು.
ಈ ಮಾರ್ಗದರ್ಶಿಗಾಗಿ, ಪರಿಕಲ್ಪನೆಗಳು ಮತ್ತು ಅನೇಕ ಕೋಡ್ ಉದಾಹರಣೆಗಳು ಸಣ್ಣ ಮಾರ್ಪಾಡುಗಳೊಂದಿಗೆ ಎರಡಕ್ಕೂ ಅನ್ವಯಿಸುತ್ತವೆ. ಅವು ಮಹತ್ವದ್ದಾಗಿರುವಲ್ಲಿ ನಾವು ವ್ಯತ್ಯಾಸಗಳನ್ನು ಸೂಚಿಸುತ್ತೇವೆ.
ನಿಮ್ಮ ಹಾರ್ಡ್ವೇರ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು: ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಯುದ್ಧಭೂಮಿ
ಪೈಥಾನ್ ಅನ್ನು ರನ್ ಮಾಡಬಹುದಾದ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ಗಳ (MCUs) ಸಂಖ್ಯೆ ಇತ್ತೀಚಿನ ವರ್ಷಗಳಲ್ಲಿ ಸ್ಫೋಟಗೊಂಡಿದೆ. ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರಿಗೆ ಕೆಲವು ಜನಪ್ರಿಯ ಮತ್ತು ಪ್ರವೇಶಿಸಬಹುದಾದ ಆಯ್ಕೆಗಳು ಇಲ್ಲಿವೆ.
ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಪಿಕೊ & RP2040
ಸಂಪೂರ್ಣ ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಕಂಪ್ಯೂಟರ್ನೊಂದಿಗೆ ಗೊಂದಲಕ್ಕೀಡಾಗಬಾರದು, ಪಿಕೊ ಕಡಿಮೆ-ವೆಚ್ಚದ, ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಬೋರ್ಡ್ ಆಗಿದ್ದು, ಕಸ್ಟಮ್ RP2040 ಚಿಪ್ ಅನ್ನು ಆಧರಿಸಿದೆ. ಇದು ಹಾರ್ಡ್ವೇರ್ನಲ್ಲಿ ಪೈಥಾನ್ಗೆ ಜಾಗತಿಕ ನೆಚ್ಚಿನದಾಗಿದೆ.
- ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು: ಶಕ್ತಿಯುತ ಡ್ಯುಯಲ್-ಕೋರ್ ARM ಕಾರ್ಟೆಕ್ಸ್-M0+ ಪ್ರೊಸೆಸರ್, ಉದಾರವಾದ 264KB RAM ಮತ್ತು ಕಸ್ಟಮ್ ಹಾರ್ಡ್ವೇರ್ ಇಂಟರ್ಫೇಸ್ಗಳ ರಚನೆಗೆ ಅನುಮತಿಸುವ ಪ್ರೊಗ್ರಾಮೆಬಲ್ I/O (PIO) ಎಂಬ ವಿಶಿಷ್ಟ ವೈಶಿಷ್ಟ್ಯ. ಹೊಸ ಪಿಕೊ W ಮಾದರಿಯು ಆನ್-ಬೋರ್ಡ್ ವೈ-ಫೈ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ.
- ಇದು ಪೈಥಾನ್ಗೆ ಏಕೆ ಅದ್ಭುತವಾಗಿದೆ: ಇದು ಮೈಕ್ರೋಪೈಥಾನ್ಗೆ ಅಧಿಕೃತ, ಪ್ರಥಮ ದರ್ಜೆ ಬೆಂಬಲವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ನಿಂದಲೂ ಉತ್ತಮವಾಗಿ ಬೆಂಬಲಿತವಾಗಿದೆ. ಇದರ ಕಡಿಮೆ ಬೆಲೆ (ಸಾಮಾನ್ಯವಾಗಿ $10 USD ಗಿಂತ ಕಡಿಮೆ) ಮತ್ತು ಬಲವಾದ ಕಾರ್ಯಕ್ಷಮತೆಯು ಅದನ್ನು ನಂಬಲಾಗದ ಮೌಲ್ಯವನ್ನಾಗಿ ಮಾಡುತ್ತದೆ.
ಎಸ್ಪ್ರೆಸಿಫ್ ESP32 & ESP8266
ಶಾಂಘೈ ಮೂಲದ ಕಂಪನಿಯಾದ ಎಸ್ಪ್ರೆಸಿಫ್ ಸಿಸ್ಟಮ್ಸ್ ತಯಾರಿಸಿದ ESP ಚಿಪ್ಗಳ ಕುಟುಂಬವು IoT ನ ವಿವಾದಾತ್ಮಕ ಚಾಂಪಿಯನ್ಗಳಾಗಿವೆ. ಅವುಗಳ ಸಂಯೋಜಿತ ವೈ-ಫೈ ಮತ್ತು ಬ್ಲೂಟೂತ್ ಸಾಮರ್ಥ್ಯಗಳಿಗೆ ಹೆಸರುವಾಸಿಯಾಗಿದೆ, ಇದು ಸಂಪರ್ಕಿತ ಪ್ರಾಜೆಕ್ಟ್ಗಳಿಗೆ ಡೀಫಾಲ್ಟ್ ಆಯ್ಕೆಯಾಗಿದೆ.
- ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು: ಶಕ್ತಿಯುತ ಸಿಂಗಲ್ ಅಥವಾ ಡ್ಯುಯಲ್-ಕೋರ್ ಪ್ರೊಸೆಸರ್ಗಳು, ಅಂತರ್ನಿರ್ಮಿತ ವೈ-ಫೈ ಮತ್ತು (ESP32 ನಲ್ಲಿ) ಬ್ಲೂಟೂತ್. ಅವು ಪ್ರಪಂಚದಾದ್ಯಂತದ ತಯಾರಕರಿಂದ ಸಾವಿರಾರು ವಿಭಿನ್ನ ಅಭಿವೃದ್ಧಿ ಮಂಡಳಿಗಳಲ್ಲಿ ಲಭ್ಯವಿದೆ.
- ಅವು ಪೈಥಾನ್ಗೆ ಏಕೆ ಅದ್ಭುತವಾಗಿವೆ: ಅತ್ಯುತ್ತಮ ಮೈಕ್ರೋಪೈಥಾನ್ ಬೆಂಬಲವು ಕೆಲವೇ ಸಾಲುಗಳ ಪೈಥಾನ್ ಕೋಡ್ನೊಂದಿಗೆ ಸಂಪರ್ಕಿತ ಸಾಧನಗಳನ್ನು ನಿರ್ಮಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ವೆಬ್ ಸರ್ವರ್ಗಳನ್ನು ಚಾಲನೆ ಮಾಡುವುದು ಅಥವಾ ಬಹು ಸಂವೇದಕಗಳಿಂದ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸುವಂತಹ ಸಂಕೀರ್ಣ ಕಾರ್ಯಗಳಿಗೆ ಅವುಗಳ ಸಂಸ್ಕರಣಾ ಶಕ್ತಿಯು ಸಾಕಷ್ಟಿದೆ.
ಆಡಾಫ್ರೂಟ್ ಫೆದರ್, ಇಟ್ಸಿಬಿಟ್ಸಿ ಮತ್ತು ಟ್ರಿಂಕೆಟ್ ಪರಿಸರ ವ್ಯವಸ್ಥೆಗಳು
ಆಡಾಫ್ರೂಟ್ ಪ್ರಮಾಣಿತ ರೂಪ ಅಂಶಗಳಲ್ಲಿ ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಬೋರ್ಡ್ಗಳನ್ನು ನೀಡುತ್ತದೆ. ಇವು ನಿರ್ದಿಷ್ಟ ಚಿಪ್ಗಳಲ್ಲ ಆದರೆ ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಮನಬಂದಂತೆ ಕೆಲಸ ಮಾಡಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಉತ್ಪನ್ನ ಕುಟುಂಬಗಳಾಗಿವೆ.
- ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು: ಫೆದರ್ ಕುಟುಂಬದಲ್ಲಿನ ಬೋರ್ಡ್ಗಳು ಸಾಮಾನ್ಯ ಪಿನ್ಔಟ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ, ಇದು ಪರಸ್ಪರ ಬದಲಾಯಿಸಲ್ಪಡುತ್ತದೆ. ಅನೇಕವು ಅಂತರ್ನಿರ್ಮಿತ ಬ್ಯಾಟರಿ ಚಾರ್ಜಿಂಗ್ ಸರ್ಕ್ಯೂಟ್ಗಳು ಮತ್ತು ಕನೆಕ್ಟರ್ಗಳನ್ನು ಒಳಗೊಂಡಿವೆ. ಅವು RP2040, ESP32 ಮತ್ತು ಇತರವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ವಿವಿಧ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ಗಳೊಂದಿಗೆ ಲಭ್ಯವಿದೆ.
- ಅವು ಪೈಥಾನ್ಗೆ ಏಕೆ ಅದ್ಭುತವಾಗಿವೆ: ಅವುಗಳನ್ನು ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ಗಾಗಿ ನೆಲದಿಂದ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಈ ಬಿಗಿಯಾದ ಏಕೀಕರಣವು ನೂರಾರು ಲೈಬ್ರರಿಗಳು ಮತ್ತು ಟ್ಯುಟೋರಿಯಲ್ಗಳಿಗೆ ಪ್ರವೇಶದೊಂದಿಗೆ ಸುಗಮ, ಪ್ಲಗ್-ಅಂಡ್-ಪ್ಲೇ ಅನುಭವವನ್ನು ಅರ್ಥೈಸುತ್ತದೆ.
ಪ್ರಾರಂಭಿಸುವುದು: ಹಾರ್ಡ್ವೇರ್ನಲ್ಲಿ ನಿಮ್ಮ ಮೊದಲ "ಹಲೋ, ವರ್ಲ್ಡ್"
ಸಿದ್ಧಾಂತದಿಂದ ಅಭ್ಯಾಸಕ್ಕೆ ಹೋಗೋಣ. ಎಂಬೆಡೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ನ ಸಾಂಪ್ರದಾಯಿಕ "ಹಲೋ, ವರ್ಲ್ಡ್" ಎಲ್ಇಡಿಯನ್ನು ಮಿಟುಕಿಸುವುದು. ಈ ಸರಳ ಕ್ರಿಯೆಯು ನಿಮ್ಮ ಸಂಪೂರ್ಣ ಟೂಲ್ಚೈನ್ - ನಿಮ್ಮ ಕೋಡ್ ಎಡಿಟರ್ನಿಂದ ಬೋರ್ಡ್ನಲ್ಲಿರುವ ಫರ್ಮ್ವೇರ್ವರೆಗೆ - ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಪೂರ್ವಾಪೇಕ್ಷಿತಗಳು
- ಬೆಂಬಲಿತ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಬೋರ್ಡ್ (ಉದಾಹರಣೆಗೆ, ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಪಿಕೊ, ESP32, ಅಥವಾ ಆಡಾಫ್ರೂಟ್ ಬೋರ್ಡ್).
- ಡೇಟಾ ವರ್ಗಾವಣೆಯನ್ನು ಬೆಂಬಲಿಸುವ USB ಕೇಬಲ್ (ಕೇವಲ ಚಾರ್ಜಿಂಗ್ ಅಲ್ಲ).
- ಕಂಪ್ಯೂಟರ್ (ವಿಂಡೋಸ್, ಮ್ಯಾಕೋಸ್ ಅಥವಾ ಲಿನಕ್ಸ್).
ಹಂತ 1: ಫರ್ಮ್ವೇರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ
ನಿಮ್ಮ ಬೋರ್ಡ್ನಲ್ಲಿ ಮೈಕ್ರೋಪೈಥಾನ್ ಅಥವಾ ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ ಇಂಟರ್ಪ್ರಿಟರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗಿದೆ. ಇದನ್ನು "ಫರ್ಮ್ವೇರ್ ಅನ್ನು ಫ್ಲ್ಯಾಶ್ ಮಾಡುವುದು" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.
- ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ಗಾಗಿ: circuitpython.org ಗೆ ಭೇಟಿ ನೀಡಿ, ನಿಮ್ಮ ಬೋರ್ಡ್ ಅನ್ನು ಹುಡುಕಿ ಮತ್ತು
.uf2ಫೈಲ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ. ನಿಮ್ಮ ಬೋರ್ಡ್ ಅನ್ನು ಬೂಟ್ಲೋಡರ್ ಮೋಡ್ಗೆ ಹಾಕಿ (ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಅದನ್ನು ಪ್ಲಗ್ ಇನ್ ಮಾಡುವಾಗ "BOOT" ಅಥವಾ "RESET" ಬಟನ್ ಅನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ). ಅದು USB ಡ್ರೈವ್ನಂತೆ ಕಾಣಿಸುತ್ತದೆ. ಡೌನ್ಲೋಡ್ ಮಾಡಿದ.uf2ಫೈಲ್ ಅನ್ನು ಅದರ ಮೇಲೆ ಎಳೆಯಿರಿ. ಡ್ರೈವ್ ಹೊರಹಾಕುತ್ತದೆ ಮತ್ತು ಮತ್ತೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಈಗ CIRCUITPY ಎಂದು ಹೆಸರಿಸಲಾಗಿದೆ. - ಮೈಕ್ರೋಪೈಥಾನ್ಗಾಗಿ: micropython.org ಗೆ ಭೇಟಿ ನೀಡಿ, ನಿಮ್ಮ ಬೋರ್ಡ್ ಅನ್ನು ಹುಡುಕಿ ಮತ್ತು ಫರ್ಮ್ವೇರ್ ಫೈಲ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ (ಸಾಮಾನ್ಯವಾಗಿ
.uf2ಅಥವಾ.binಫೈಲ್). ಪ್ರಕ್ರಿಯೆಯು ಹೋಲುತ್ತದೆ: ಬೋರ್ಡ್ ಅನ್ನು ಬೂಟ್ಲೋಡರ್ ಮೋಡ್ನಲ್ಲಿ ಹಾಕಿ ಮತ್ತು ಫೈಲ್ ಅನ್ನು ನಕಲಿಸಿ.
ಹಂತ 2: ನಿಮ್ಮ ಸಂಪಾದಕವನ್ನು ಹೊಂದಿಸಿ
ನೀವು ಯಾವುದೇ ಪಠ್ಯ ಸಂಪಾದಕವನ್ನು ಬಳಸಬಹುದಾದರೂ, ಮೀಸಲಾದ IDE ಅಭಿವೃದ್ಧಿಯನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ. ಆರಂಭಿಕರಿಗಾಗಿ ಥೋನಿ IDE ಅನ್ನು ಹೆಚ್ಚು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. ಇದು ಉಚಿತ, ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಮತ್ತು ಮೈಕ್ರೋಪೈಥಾನ್ ಮತ್ತು ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ಗೆ ಅಂತರ್ನಿರ್ಮಿತ ಬೆಂಬಲದೊಂದಿಗೆ ಬರುತ್ತದೆ. ಇದು ನಿಮ್ಮ ಬೋರ್ಡ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪತ್ತೆ ಮಾಡುತ್ತದೆ, ಸಾಧನದ REPL ಗೆ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಫೈಲ್ಗಳನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಲು ಸುಲಭವಾಗಿಸುತ್ತದೆ.
ಹಂತ 3: ಮಿಟುಕಿಸುವ LED ಕೋಡ್
ಈಗ ಕೋಡ್ಗಾಗಿ. ಮೈಕ್ರೋಪೈಥಾನ್ಗಾಗಿ main.py ಎಂಬ ಹೊಸ ಫೈಲ್ ಅನ್ನು ರಚಿಸಿ ಅಥವಾ ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ಗಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ code.py ಅನ್ನು ಎಡಿಟ್ ಮಾಡಿ.
ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಪಿಕೊ W ನಲ್ಲಿ ಮೈಕ್ರೋಪೈಥಾನ್ಗಾಗಿ ಉದಾಹರಣೆ:
import machine
import utime
# ಪಿಕೊ W ನಲ್ಲಿರುವ ಆನ್ಬೋರ್ಡ್ LED ಅನ್ನು ವಿಶೇಷ ಹೆಸರಿನ ಮೂಲಕ ಪ್ರವೇಶಿಸಲಾಗುತ್ತದೆ
led = machine.Pin("LED", machine.Pin.OUT)
while True:
led.toggle()
print("LED ಟಾಗಲ್ ಆಗಿದೆ!")
utime.sleep(0.5) # ಅರ್ಧ ಸೆಕೆಂಡು ಕಾಯಿರಿ
ಹೆಚ್ಚಿನ ಆಡಾಫ್ರೂಟ್ ಬೋರ್ಡ್ಗಳಲ್ಲಿ ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ಗಾಗಿ ಉದಾಹರಣೆ:
import board
import digitalio
import time
# ಆನ್ಬೋರ್ಡ್ LED ಸಾಮಾನ್ಯವಾಗಿ 'LED' ಎಂಬ ಪಿನ್ಗೆ ಸಂಪರ್ಕ ಹೊಂದಿದೆ
led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = not led.value
print("LED ಟಾಗಲ್ ಆಗಿದೆ!")
time.sleep(0.5)
ಕೋಡ್ ವಿಭಜನೆ:
import: ಹಾರ್ಡ್ವೇರ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಲು (machine,digitalio,board) ಮತ್ತು ಸಮಯವನ್ನು ನಿರ್ವಹಿಸಲು (utime,time) ನಾವು ಲೈಬ್ರರಿಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುತ್ತೇವೆ.- ಪಿನ್ ಸೆಟಪ್: ನಾವು ಯಾವ ಭೌತಿಕ ಪಿನ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಲು ಬಯಸುತ್ತೇವೆ (ಆನ್ಬೋರ್ಡ್ LED) ಎಂಬುದನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ಔಟ್ಪುಟ್ ಆಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ.
- ಲೂಪ್:
while True:ಲೂಪ್ ಶಾಶ್ವತವಾಗಿ ರನ್ ಆಗುತ್ತದೆ. ಲೂಪ್ನ ಒಳಗೆ, ನಾವು LED ಯ ಸ್ಥಿತಿಯನ್ನು ಟಾಗಲ್ ಮಾಡುತ್ತೇವೆ (ಆನ್ನಿಂದ ಆಫ್ಗೆ ಅಥವಾ ಆಫ್ನಿಂದ ಆನ್ಗೆ), ಸರಣಿ ಕನ್ಸೋಲ್ಗೆ ಸಂದೇಶವನ್ನು ಮುದ್ರಿಸುತ್ತೇವೆ (ಥೋನಿಯಲ್ಲಿ ಗೋಚರಿಸುತ್ತದೆ) ಮತ್ತು ನಂತರ ಅರ್ಧ ಸೆಕೆಂಡಿಗೆ ವಿರಾಮಗೊಳಿಸುತ್ತೇವೆ.
ಈ ಫೈಲ್ ಅನ್ನು ನಿಮ್ಮ ಸಾಧನಕ್ಕೆ ಉಳಿಸಿ. ಆನ್ಬೋರ್ಡ್ LED ತಕ್ಷಣವೇ ಮಿಟುಕಿಸಲು ಪ್ರಾರಂಭಿಸಬೇಕು. ಅಭಿನಂದನೆಗಳು, ನೀವು ಇದೀಗ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ನಲ್ಲಿ ನೇರವಾಗಿ ಪೈಥಾನ್ ಅನ್ನು ರನ್ ಮಾಡಿದ್ದೀರಿ!
ಆಳವಾಗಿ ಧುಮುಕುವುದು: ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ಗಳಲ್ಲಿ ಪೈಥಾನ್ನ ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆಗಳು
LED ಅನ್ನು ಮಿಟುಕಿಸುವುದು ಕೇವಲ ಆರಂಭ. ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ಪ್ರಾಜೆಕ್ಟ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ನೀವು ಬಳಸುವ ಮೂಲಭೂತ ಪರಿಕಲ್ಪನೆಗಳನ್ನು ಅನ್ವೇಷಿಸೋಣ.
ಸಾಮಾನ್ಯ ಉದ್ದೇಶದ ಇನ್ಪುಟ್/ಔಟ್ಪುಟ್ (GPIO)
GPIO ಪಿನ್ಗಳು ಭೌತಿಕ ಸಂಪರ್ಕಗಳಾಗಿವೆ, ಅದು ನಿಮ್ಮ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ಗೆ ಪ್ರಪಂಚದೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಅವುಗಳನ್ನು ಇನ್ಪುಟ್ಗಳಾಗಿ (ಗುಂಡಿಗಳು ಅಥವಾ ಸಂವೇದಕಗಳಿಂದ ಡೇಟಾವನ್ನು ಓದಲು) ಅಥವಾ ಔಟ್ಪುಟ್ಗಳಾಗಿ (LED ಗಳು, ಮೋಟಾರ್ಗಳು ಅಥವಾ ರಿಲೇಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು) ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು.
ಗುಂಡಿಯನ್ನು ಒತ್ತುವುದನ್ನು ಓದುವುದು (ಮೈಕ್ರೋಪೈಥಾನ್):
import machine
import utime
button = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_DOWN)
while True:
if button.value() == 1:
print("ಗುಂಡಿಯನ್ನು ಒತ್ತಲಾಗಿದೆ!")
utime.sleep(0.1)
ಇಲ್ಲಿ, ನಾವು ಪಿನ್ 14 ಅನ್ನು ಆಂತರಿಕ ಪುಲ್-ಡೌನ್ ರೆಸಿಸ್ಟರ್ನೊಂದಿಗೆ ಇನ್ಪುಟ್ ಆಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ. ಗುಂಡಿಯ ಮೌಲ್ಯವು 1 (ಹೆಚ್ಚು) ಆಗಿದೆಯೇ ಎಂದು ಲೂಪ್ ನಿರಂತರವಾಗಿ ಪರಿಶೀಲಿಸುತ್ತದೆ, ಇದು ಒತ್ತಲಾಗಿದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ.
ಸಂವೇದಕಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು
ಹೆಚ್ಚಿನ ಆಸಕ್ತಿದಾಯಕ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಸಂವೇದಕಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ಪೈಥಾನ್ ಅನಲಾಗ್ ಮತ್ತು ಡಿಜಿಟಲ್ ಸಂವೇದಕಗಳಿಂದ ಓದುವುದನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.
- ಅನಲಾಗ್ ಸಂವೇದಕಗಳು: ಫೋಟೊರೆಸಿಸ್ಟರ್ಗಳು (ಬೆಳಕನ್ನು ಅಳೆಯುವುದು) ಅಥವಾ ಪೊಟೆನ್ಟಿಯೋಮೀಟರ್ಗಳಂತಹ ಈ ಸಂವೇದಕಗಳು ವೇರಿಯಬಲ್ ವೋಲ್ಟೇಜ್ ಅನ್ನು ಒದಗಿಸುತ್ತವೆ. ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ನ ಅನಲಾಗ್-ಟು-ಡಿಜಿಟಲ್ ಪರಿವರ್ತಕ (ADC) ಈ ವೋಲ್ಟೇಜ್ ಅನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಸಂಖ್ಯೆಯಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
- ಡಿಜಿಟಲ್ ಸಂವೇದಕಗಳು: ತಾಪಮಾನ/ತೇವಾಂಶ ಸಂವೇದಕಗಳು, ಅಕ್ಸೆಲೆರೊಮೀಟರ್ಗಳಂತಹ ಈ ಹೆಚ್ಚು ಸುಧಾರಿತ ಸಂವೇದಕಗಳು ನಿರ್ದಿಷ್ಟ ಪ್ರೋಟೋಕಾಲ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಂವಹನ ನಡೆಸುತ್ತವೆ. ಎರಡು ಸಾಮಾನ್ಯವಾದವುಗಳೆಂದರೆ I2C (ಇಂಟರ್-ಇಂಟಿಗ್ರೇಟೆಡ್ ಸರ್ಕ್ಯೂಟ್) ಮತ್ತು SPI (ಸರಣಿ ಪೆರಿಫೆರಲ್ ಇಂಟರ್ಫೇಸ್). ಈ ಪ್ರೋಟೋಕಾಲ್ಗಳು ಕೆಲವು ಪಿನ್ಗಳನ್ನು ಮಾತ್ರ ಬಳಸಿಕೊಂಡು ಬಹು ಸಾಧನಗಳನ್ನು ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಅನುಮತಿಸುತ್ತವೆ. ಅದೃಷ್ಟವಶಾತ್, ಲೈಬ್ರರಿಗಳು ನಿಮಗಾಗಿ ಸಂವಹನವನ್ನು ನಿರ್ವಹಿಸುವುದರಿಂದ, ಕಡಿಮೆ-ಮಟ್ಟದ ವಿವರಗಳನ್ನು ನೀವು ತಿಳಿದುಕೊಳ್ಳಬೇಕಾಗಿಲ್ಲ.
BMP280 ಸಂವೇದಕದೊಂದಿಗೆ ತಾಪಮಾನವನ್ನು ಓದುವುದು (ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್):
import board
import adafruit_bmp280
# I2C ಬಸ್ ವಸ್ತುವನ್ನು ರಚಿಸಿ
i2c = board.I2C() # ಡೀಫಾಲ್ಟ್ SCL ಮತ್ತು SDA ಪಿನ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ
# ಸಂವೇದಕ ವಸ್ತುವನ್ನು ರಚಿಸಿ
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c)
# ತಾಪಮಾನವನ್ನು ಓದಿ
temperature = bmp280.temperature
print(f"ತಾಪಮಾನ: {temperature:.2f} C")
ಪಲ್ಸ್ ಅಗಲ ಮಾಡ್ಯುಲೇಷನ್ (PWM)
ಡಿಜಿಟಲ್ ಪಿನ್ನಲ್ಲಿ ಅನಲಾಗ್ ಔಟ್ಪುಟ್ ಅನ್ನು ಅನುಕರಿಸಲು PWM ಅನ್ನು ಬಳಸುವ ತಂತ್ರವಾಗಿದೆ. ಪಿನ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ಆನ್ ಮತ್ತು ಆಫ್ ಮಾಡುವ ಮೂಲಕ, ನೀವು ಸರಾಸರಿ ವೋಲ್ಟೇಜ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಬಹುದು, ಇದು LED ಅನ್ನು ಮಂದಗೊಳಿಸಲು, DC ಮೋಟಾರ್ನ ವೇಗವನ್ನು ನಿಯಂತ್ರಿಸಲು ಅಥವಾ ಸರ್ವೋ ಮೋಟಾರ್ ಅನ್ನು ಸ್ಥಾನೀಕರಿಸಲು ಉಪಯುಕ್ತವಾಗಿದೆ.
ಸಂಪರ್ಕ ಮತ್ತು ಇಂಟರ್ನೆಟ್ ಆಫ್ ಥಿಂಗ್ಸ್ (IoT)
ESP32 ಮತ್ತು Pico W ನಂತಹ ಬೋರ್ಡ್ಗಳು ನಿಜವಾಗಿಯೂ ಹೊಳೆಯುವುದು ಇಲ್ಲಿದೆ. ಅಂತರ್ನಿರ್ಮಿತ ವೈ-ಫೈನೊಂದಿಗೆ, ಪೈಥಾನ್ IoT ಸಾಧನಗಳನ್ನು ನಿರ್ಮಿಸಲು ಆಶ್ಚರ್ಯಕರವಾಗಿ ಸರಳಗೊಳಿಸುತ್ತದೆ.
ವೈ-ಫೈಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ
ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೆಟ್ವರ್ಕ್ಗೆ ಸಂಪರ್ಕಿಸುವುದು ಮೊದಲ ಹಂತವಾಗಿದೆ. ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ರುಜುವಾತುಗಳನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಸಂಗ್ರಹಿಸಲು ನೀವು ಫೈಲ್ ಅನ್ನು ರಚಿಸಬೇಕಾಗುತ್ತದೆ (ಸಾಮಾನ್ಯವಾಗಿ ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ನಲ್ಲಿ secrets.py ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ).
ESP32 ಅನ್ನು ವೈ-ಫೈಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ (ಮೈಕ್ರೋಪೈಥಾನ್):
import network
SSID = "ನಿಮ್ಮನೆಟ್ವರ್ಕ್ಹೆಸರು"
PASSWORD = "ನಿಮ್ಮನೆಟ್ವರ್ಕ್ಪಾಸ್ವರ್ಡ್"
station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(SSID, PASSWORD)
while not station.isconnected():
pass
print("ಸಂಪರ್ಕ ಯಶಸ್ವಿಯಾಗಿದೆ")
print(station.ifconfig())
ವೆಬ್ ವಿನಂತಿಗಳನ್ನು ಮಾಡುವುದು
ಒಮ್ಮೆ ಸಂಪರ್ಕಗೊಂಡ ನಂತರ, ನೀವು ಇಂಟರ್ನೆಟ್ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಬಹುದು. ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಇಂಟರ್ಫೇಸ್ಗಳಿಂದ (API ಗಳು) ಡೇಟಾವನ್ನು ಪಡೆಯಬಹುದು, ವೆಬ್ ಸೇವೆಗೆ ಸಂವೇದಕ ಡೇಟಾವನ್ನು ಪೋಸ್ಟ್ ಮಾಡಬಹುದು ಅಥವಾ ಆನ್ಲೈನ್ ಕ್ರಿಯೆಗಳನ್ನು ಪ್ರಚೋದಿಸಬಹುದು.
API ನಿಂದ JSON ಡೇಟಾವನ್ನು ಪಡೆಯುವುದು (`urequests` ಲೈಬ್ರರಿಯನ್ನು ಬಳಸುವುದು):
import urequests
response = urequests.get("http://worldtimeapi.org/api/timezone/Etc/UTC")
data = response.json()
print(f"ಪ್ರಸ್ತುತ UTC ಸಮಯ: {data['datetime']}")
response.close()
MQTT: IoT ನ ಭಾಷೆ
HTTP ಉಪಯುಕ್ತವಾಗಿದ್ದರೂ, IoT ಸಂವಹನಕ್ಕಾಗಿ ಚಿನ್ನದ ಗುಣಮಟ್ಟವೆಂದರೆ MQTT (ಮೆಸೇಜ್ ಕ್ಯೂಯಿಂಗ್ ಟೆಲಿಮೆಟ್ರಿ ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್). ಇದು ಕಡಿಮೆ-ಬ್ಯಾಂಡ್ವಿಡ್ತ್, ಹೆಚ್ಚಿನ-ಲೇಟೆನ್ಸಿ ನೆಟ್ವರ್ಕ್ಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಹಗುರವಾದ ಪಬ್ಲಿಷ್-ಸಬ್ಸ್ಕ್ರೈಬ್ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ. ಸಾಧನವು ಸಂವೇದಕ ಡೇಟಾವನ್ನು "ವಿಷಯ" ಕ್ಕೆ "ಪ್ರಕಟಿಸಬಹುದು" ಮತ್ತು ಆ ವಿಷಯಕ್ಕೆ "ಚಂದಾದಾರರಾದ" ಯಾವುದೇ ಇತರ ಸಾಧನ (ಅಥವಾ ಸರ್ವರ್) ತಕ್ಷಣವೇ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. ವೆಬ್ ಸರ್ವರ್ ಅನ್ನು ನಿರಂತರವಾಗಿ ಪೋಲ್ ಮಾಡುವುದಕ್ಕಿಂತ ಇದು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ.
ಸುಧಾರಿತ ವಿಷಯಗಳು ಮತ್ತು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು
ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಬೆಳೆದಂತೆ, ನೀವು ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ನ ಮಿತಿಗಳನ್ನು ಎದುರಿಸುತ್ತೀರಿ. ದೃಢವಾದ ಎಂಬೆಡೆಡ್ ಪೈಥಾನ್ ಕೋಡ್ ಬರೆಯಲು ಕೆಲವು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು ಇಲ್ಲಿವೆ.
- ಮೆಮೊರಿ ನಿರ್ವಹಣೆ: RAM ನಿಮ್ಮ ಅತ್ಯಮೂಲ್ಯ ಸಂಪನ್ಮೂಲವಾಗಿದೆ. ಲೂಪ್ಗಳ ಒಳಗೆ ಪಟ್ಟಿಗಳು ಅಥವಾ ಉದ್ದನೆಯ ಸ್ಟ್ರಿಂಗ್ಗಳಂತಹ ದೊಡ್ಡ ವಸ್ತುಗಳನ್ನು ರಚಿಸುವುದನ್ನು ತಪ್ಪಿಸಿ. ಹಸ್ತಚಾಲಿತವಾಗಿ ಕಸ ಸಂಗ್ರಹಣೆಯನ್ನು ಪ್ರಚೋದಿಸಲು ಮತ್ತು ಮೆಮೊರಿಯನ್ನು ಮುಕ್ತಗೊಳಿಸಲು
gcಮಾಡ್ಯೂಲ್ (import gc; gc.collect()) ಅನ್ನು ಬಳಸಿ. - ಪವರ್ ನಿರ್ವಹಣೆ: ಬ್ಯಾಟರಿ ಚಾಲಿತ ಸಾಧನಗಳಿಗೆ, ವಿದ್ಯುತ್ ದಕ್ಷತೆಯು ನಿರ್ಣಾಯಕವಾಗಿದೆ. ಹೆಚ್ಚಿನ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ಗಳು "deepsleep" ಮೋಡ್ ಅನ್ನು ಹೊಂದಿದ್ದು ಅದು ಚಿಪ್ನ ಹೆಚ್ಚಿನ ಭಾಗವನ್ನು ಸ್ಥಗಿತಗೊಳಿಸುತ್ತದೆ, ಕಡಿಮೆ ಶಕ್ತಿಯನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಸಮಯದ ನಂತರ ಅಥವಾ ಬಾಹ್ಯ ಟ್ರಿಗ್ಗರ್ನಿಂದ ಎಚ್ಚರಗೊಳ್ಳುತ್ತದೆ.
- ಫೈಲ್ ಸಿಸ್ಟಮ್: ನೀವು ನಿಯಮಿತ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿರುವಂತೆ ಆನ್ಬೋರ್ಡ್ ಫ್ಲ್ಯಾಶ್ ಮೆಮೊರಿಗೆ ಫೈಲ್ಗಳನ್ನು ಓದಬಹುದು ಮತ್ತು ಬರೆಯಬಹುದು. ಡೇಟಾವನ್ನು ಲಾಗ್ ಮಾಡಲು ಅಥವಾ ಕಾನ್ಫಿಗರೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಇದು ಸೂಕ್ತವಾಗಿದೆ.
- ಅಡಚಣೆಗಳು: ಲೂಪ್ನಲ್ಲಿ ಗುಂಡಿಯ ಸ್ಥಿತಿಯನ್ನು ನಿರಂತರವಾಗಿ ಪರಿಶೀಲಿಸುವ ಬದಲು (ಪೋಲಿಂಗ್ ಎಂಬ ಪ್ರಕ್ರಿಯೆ), ನೀವು ಅಡಚಣೆಯನ್ನು ಬಳಸಬಹುದು. ಇಂಟರಪ್ಟ್ ರಿಕ್ವೆಸ್ಟ್ (IRQ) ಎನ್ನುವುದು ಒಂದು ವಿಶೇಷ ಕಾರ್ಯವನ್ನು ಚಲಾಯಿಸಲು ಮುಖ್ಯ ಕೋಡ್ ಅನ್ನು ವಿರಾಮಗೊಳಿಸುವ ಹಾರ್ಡ್ವೇರ್ ಸಿಗ್ನಲ್ ಆಗಿದೆ, ನಂತರ ಪುನರಾರಂಭಿಸುತ್ತದೆ. ಇದು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ ಮತ್ತು ಸ್ಪಂದಿಸುವಂತಿದೆ.
ನೈಜ-ಪ್ರಪಂಚದ ಪ್ರಾಜೆಕ್ಟ್ ಐಡಿಯಾ ಪ್ರದರ್ಶನ
ನಿರ್ಮಿಸಲು ಸಿದ್ಧರಿದ್ದೀರಾ? ನಾವು ಚರ್ಚಿಸಿದ ಪರಿಕಲ್ಪನೆಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಕೆಲವು ಆಲೋಚನೆಗಳು ಇಲ್ಲಿವೆ:
- ಸ್ಮಾರ್ಟ್ ಹವಾಮಾನ ಕೇಂದ್ರ: ತಾಪಮಾನ, ತೇವಾಂಶ ಮತ್ತು ಒತ್ತಡವನ್ನು ಅಳೆಯಲು BME280 ಸಂವೇದಕದೊಂದಿಗೆ ESP32 ಅನ್ನು ಬಳಸಿ. ಸಣ್ಣ OLED ಪರದೆಯಲ್ಲಿ ಡೇಟಾವನ್ನು ಪ್ರದರ್ಶಿಸಿ ಮತ್ತು Adafruit IO ಅಥವಾ Home Assistant ನಂತಹ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗೆ MQTT ಮೂಲಕ ಪ್ರಕಟಿಸಿ.
- ಸ್ವಯಂಚಾಲಿತ ಸಸ್ಯ ನೀರಾವರಿ ವ್ಯವಸ್ಥೆ: ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಪಿಕೊಗೆ ಮಣ್ಣಿನ ತೇವಾಂಶ ಸಂವೇದಕವನ್ನು ಸಂಪರ್ಕಿಸಿ. ಮಣ್ಣು ಒಣಗಿದಾಗ, ಕೆಲವು ಸೆಕೆಂಡುಗಳ ಕಾಲ ಸಣ್ಣ ನೀರಿನ ಪಂಪ್ ಅನ್ನು ಆನ್ ಮಾಡುವ ರಿಲೇ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು GPIO ಪಿನ್ ಬಳಸಿ.
- ಕಸ್ಟಮ್ USB ಮ್ಯಾಕ್ರೋ ಪ್ಯಾಡ್: ಪಿಕೊ ಅಥವಾ ಅನೇಕ ಆಡಾಫ್ರೂಟ್ ಬೋರ್ಡ್ಗಳಂತಹ USB HID (ಮಾನವ ಇಂಟರ್ಫೇಸ್ ಸಾಧನ) ಅನ್ನು ಬೆಂಬಲಿಸುವ ಸರ್ಕ್ಯೂಟ್ಪೈಥಾನ್ ಬೋರ್ಡ್ ಅನ್ನು ಬಳಸಿ. ಸಂಕೀರ್ಣ ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್ಕಟ್ಗಳನ್ನು ಕಳುಹಿಸಲು ಅಥವಾ ಪೂರ್ವನಿರ್ಧರಿತ ಪಠ್ಯವನ್ನು ಟೈಪ್ ಮಾಡಲು ಗುಂಡಿಗಳನ್ನು ಪ್ರೋಗ್ರಾಂ ಮಾಡಿ, ನಿಮ್ಮ ಉತ್ಪಾದಕತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.
ತೀರ್ಮಾನ: ಭವಿಷ್ಯವು ಪೈಥಾನ್ನಲ್ಲಿ ಎಂಬೆಡ್ ಆಗಿದೆ
ಪೈಥಾನ್ ಎಂಬೆಡೆಡ್ ಅಭಿವೃದ್ಧಿಯ ಭೂದೃಶ್ಯವನ್ನು ಮೂಲಭೂತವಾಗಿ ಬದಲಾಯಿಸಿದೆ. ಇದು ಪ್ರವೇಶಕ್ಕೆ ತಡೆಗೋಡೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಿದೆ, ಸಾಫ್ಟ್ವೇರ್ ಡೆವಲಪರ್ಗಳು ಹಾರ್ಡ್ವೇರ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಲು ಮತ್ತು ಹಾರ್ಡ್ವೇರ್ ಇಂಜಿನಿಯರ್ಗಳು ಎಂದಿಗಿಂತಲೂ ವೇಗವಾಗಿ ಮೂಲಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಕೆಲವೇ ಸಾಲುಗಳ ಓದಬಲ್ಲ ಕೋಡ್ನಲ್ಲಿ ಸಂವೇದಕವನ್ನು ಓದುವ ಅಥವಾ ಇಂಟರ್ನೆಟ್ಗೆ ಸಂಪರ್ಕಿಸುವ ಸರಳತೆಯು ಗೇಮ್-ಚೇಂಜರ್ ಆಗಿದೆ.
ಮಿಟುಕಿಸುವ LED ಯಿಂದ ಸಂಪೂರ್ಣ ವೈಶಿಷ್ಟ್ಯಪೂರ್ಣ IoT ಸಾಧನದವರೆಗಿನ ಪ್ರಯಾಣವು ನಂಬಲಾಗದಷ್ಟು ಪ್ರತಿಫಲದಾಯಕವಾಗಿದೆ. ಜಾಗತಿಕ ಸಮುದಾಯ ಮತ್ತು ಮುಕ್ತ-ಮೂಲ ಲೈಬ್ರರಿಗಳ ಸಂಪತ್ತು ಎಂದರೆ ನೀವು ಸವಾಲನ್ನು ಎದುರಿಸಿದಾಗ ನೀವು ನಿಜವಾಗಿಯೂ ಎಂದಿಗೂ ಒಬ್ಬಂಟಿಯಾಗಿರುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ ಬೋರ್ಡ್ ಅನ್ನು ಆರಿಸಿ, ಫರ್ಮ್ವೇರ್ ಅನ್ನು ಫ್ಲ್ಯಾಶ್ ಮಾಡಿ ಮತ್ತು ಪೈಥಾನ್ ಮತ್ತು ಭೌತಿಕ ಪ್ರಪಂಚದ ಉತ್ತೇಜಕ ಛೇದಕದಲ್ಲಿ ನಿಮ್ಮ ಸಾಹಸವನ್ನು ಪ್ರಾರಂಭಿಸಿ. ನಿಮ್ಮ ಕಲ್ಪನೆಯೊಂದೇ ಮಿತಿ.