Мазмұны:
- 1 -қадам: Аппараттық құралдарды Pi -ге қосу
- 2 -қадам: Негізгі бағдарламаларды кодтау
- 3 -қадам: Мәліметтер қорын құру
- 4 -қадам: аппараттық құралдарды кодтау
Бейне: Beargardian: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Сәлем балалар мектепке, маған жоба туралы идея қажет болды. Мен ойладым, бұл таңқурай пи бар жоба болуы керек және ол жергілікті. Кенеттен менде керемет идея пайда болды, мен бұл идеяны қалай алғанымды сұрамаймын, бірақ мен нәресте мониторын жаңарту туралы ойладым. Бұл идея туралы бір сәт ойланыңыз, нәресте мониторларының көпшілігінде баланың бөлмесін тыңдау функциясы бар.
Ерекшеліктері
- Түстері реттелетін шағын жарық шоуы
- Сізге тірі суреттерді көрсететін камера
- Музыка ойнауға арналған динамик
- Баланың қозғалысын түсіру үшін сенсорлар
- Мұның бәрі сайтта көрсетіледі
Қысқа ақпарат
Мұны қысқаша нұсқада түсіндірейік. Бізге веб -сайт қажет, мен бұл жобада мен Flask -ты қолданамын, бізге мәліметтер базасы қажет, мен mysql -ді қолданамын, сонымен қатар бұл аппараттық құралмен жұмыс істейтін сценарий, және бұл python (3) -де және соңғы рет серверді орнату қажет. бұл PI бойынша nginx болар еді.
Бізге не керек
- Таңқурай Pi 3
- Басқыш 28BYJ
- ULN2003 қадамдық модуль драйвері
- 330 Ом 3 резисторы бар rgb сымы
- Pi NoIR камерасы V2
- HC-SR04 ультрадыбыстық сенсоры
- Ardiuno микро модулі
- MAX98357A
- Динамик 8 Ом
- Және аю сатып алуды ұмытпаңыз
Таңқурай pi орнату ----------------------------------------------- -------------------------------------------------- --------------------------
Алдымен біз Pi орнатуымыз керек. Шпатлевка арқылы кіруді бастаңыз, егер сізде шпатлук болмаса, мен сізге жүктеуді ұсынамын, ssh көмегімен Pi статикалық IP -ін теріңіз және сіз онымен жүресіз. Егер сізге Raspberry Pi орнату қажет болса, онда менде жаман жаңалық болды, мен бұл жобада түсіндірмеймін.
Пакеттерді орнатыңыз
sudo apt жаңарту
sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
Виртуалды орта
python3 -m pip install -pip setuptools дөңгелегінің виртуалды жүйесін жаңарту
mkdir {your project foldername} && cd {your project foldername} python3 -m venv --system-site-packages env source env/bin/activate python -m pip mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask- MySQL mysql-Connector-python passlib
Енді сіз өзіңіздің қалтаңыздағы git репозиторийін клондауыңыз керек
github.com/NMCT-S2-Project-I/Project-I.git
Егер сіз жоба қалтасына қарасаңыз, сізде 5 қалтаны көру керек
- конф
- орт
- сенсор
- шаршы метр
- желі
Дерекқор
sudo systemctl күйі mysql
ss -lt | grep mysql sudo mysql
дерекқорда барлық артықшылықтары бар пайдаланушыны құрыңыз және дерекқорды жасаңыз
'password' арқылы анықталған 'user'@'localhost' пайдаланушысын жасау;
мәліметтер базасының атауын құру; сіздің дерекқорыңыздың атауындағы барлық артықшылықтарды беріңіз.* грант опциясымен 'user'@'localhost';
Серверге арналған конфигурациялық файлдар
Uwsgi-flask.ini-де сіз 'module =…' '' module = web: app '-ке және сіз жасаған виртуалды желіге жолды өзгертесіз. Басқа файлдарда каталогтың нақты абсолюттік жолдарының жолдарын өзгерту қажет.
Файлдарды дұрыс орынға қоюға болатынын түсінгеннен кейін.
sudo cp conf/project1-*. service/etc/systemd/system/
sudo systemctl демонды қайта жүктеу sudo systemctl start project1-* sudo systemctl күй жобасы1-*
енді біз оны қол жетімді етуіміз керек
sudo cp conf/nginx/etc/nginx/sites-available/project1
sudo rm/etc/nginx/sites-enabled/default sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 sudo systemctl nginx.service sudo nginx -t
Егер бәрі ойдағыдай болса, сіз осы команданың көмегімен сәлем әлеміне ие боласыз
wget -qO - жергілікті хост
Орындалды! Бұл сіздің жүйені іске қосуға мүмкіндік беретін бөлігі …
1 -қадам: Аппараттық құралдарды Pi -ге қосу
BCM көмегімен
аудио MAX98357A
- BCK - GPIO 18
- GPIO 21 деректері
- LRCK - GPIO 19
жарық
- қызыл GPIO 17
- GPIO 27 үшін жасыл
- көк GPIO 22
мотор модулі ULN2003
- 1 -шi GPIO 5 -ке жалғаңыз
- 2 -ші GPIO 6 -ға бекітіңіз
- GPIO 13 -ке 3 -түйреуіш
- 4 -ші GPIO 26 -ға бекітіңіз
микро
D0 - GPIO 21
ультрадыбыстық сенсор
- GPIO 16 іске қосыңыз
- GPIO 20 жаңғырығы
2 -қадам: Негізгі бағдарламаларды кодтау
Мен бұл жерде егжей -тегжейлі білмеймін, бірақ сіз менің кодты github -да тексере аласыз.
Бастау үшін мен html мен CSS индексін, логинді, тіркеуді, негізгі экранды, музыканы, музыканы, қондырманы, жарықты, камераны, камера параметрлерін, сенсорды, бақылау тақтасының бетін жасадым. Html файлдары үлгілерде және CSS файлдары static/css қалтасында болуы керек. Сіз CSS -ті өзіңіз қалағандай теңшей аласыз.
Егер сіз бұл бөлікті жасасаңыз, колбаны орнатуыңыз керек. Флакон сәлем әлемінің мысалын қолдануға оңай
алдымен # импорт колбасы
колбадан импорттау * @app.route ('/') def index (): render_template қайтару ('index.html')
Енді менің кодымда бұл толтырылған, сізге тек дерекқордың пайдаланушысы мен құпия сөзін өзгерту қажет, және сіз, әрине, github -да таба алатын дерекқорды жасаңыз.
3 -қадам: Мәліметтер қорын құру
Нағыз жанкүйерлер үшін мен сізге сол дерекқорды қалай құру керектігін айтамын.
Егер сіз бірінші қадамды жасамаған болсаңыз, алдымен бізге мәліметтер базасын құру керек.
beargardian мәліметтер базасын құру;
Сіз мұны жасағаннан кейін кестені mysql workbench немесе phpadmin -де жасайсыз
пайдаланушы кестесі бар
- Қолданушының ID
- аты
- тек
- электрондық пошта
- әкесінің аты
- sha1 көмегімен құпия сөз
- пайдаланушы қалтасы
- музыкалық музыка (int)
- ойын жарығы (int)
- ойнату жазбасы (int)
музыкалық үстел бар
- musicID
- өлең
- жол
- пайдаланушы қалтасы
- күй
- көлемі
жазу кестесі бар
- жазу ID
- жол
- пайдаланушы қалтасы
- уақыт
- күн
түсті кесте бар
- colorID
- қызыл
- жасыл
- көк
- жарықтық
- Қолданушының ID
аю үстелі бар
- bearID (ондық (8))
- userID әдепкі нөлі
- есім
сенсорлық үстел бар
- сенсор ID
- қашықтық
- микро
- аю ID
- уақыт
- күн
- ұйқы уақыты
Енді сіз дерекқорды сәтті құрдыңыз, аппараттық құралға көшейік.
4 -қадам: аппараттық құралдарды кодтау
Мен аздап код көрсетемін және неге олай еткенімді айтамын.
Мен жіптерді қолдануды бастау үшін бұл жобада абсолютті болу керек. Жіп дегеніміз не, хмм жақсы сұрақ! Питонға қауіп төндіретіні - бірден бірнеше бағдарламаны іске қосу. Мәселен, егер сіз түсін өзгертсеңіз, сіз де жаза аласыз. Қолдану оңай, уайымдамаңыз.
_threaddef функциясының атын импорттау (бірдеңе, бірдеңе_қалпында): іске қосылатын код
_thread.start_new_thread (функция_атауы
Егер сіз менің бағдарламама қарасаңыз, logger.info ('…') көрдіңіз. Бұл басып шығару функциясы, бірақ әлдеқайда жақсы, өйткені Pi -де сіз материалдарды басып шығара алмайсыз, сондықтан мен файл жасаймын және оны сол жерде басып шығарамын. Yoe журнал файлын осы кодпен орната алады.
logger = logging.getLogger (_ аты _) logger.setLevel (logging. INFO) # файл өңдеушіні өңдеу = logging. FileHandler ('logger.log') өңдегіші.setLevel (logging. INFO)
# тіркеу форматын жасаңыз
форматтаушы = журналға кіру
# өңдеушілерді тіркеушіге қосыңыз
logger.addHandler (өңдеуші)
logger.info ('жабдықты іске қосу / n ---------------------------------------')
әрі қарай кодтың өзінде мен бәрін түсіндіремін.
Ұсынылған:
Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)
Arduino басқарылатын роботты екіжақты: Мен әрқашан роботтарға қызығатынмын, әсіресе адамның іс -әрекетіне еліктеуге тырысатын. Бұл қызығушылық мені жаяу жүруге және жүгіруге еліктей алатын екіжақты робот құрастыруға және дамытуға талпындырды. Бұл нұсқаулықта мен сізге көрсетемін
Arduino Uno көмегімен акустикалық левитация Қадамдық қадам (8 қадам): 8 қадам
Акустикалық левитация Arduino Uno Қадамдық қадаммен (8-қадам): ультрадыбыстық дыбыс түрлендіргіштері L298N Dc әйелдер адаптерінің ток көзі еркек тоқ сымымен Arduino UNOBreadboard Бұл қалай жұмыс істейді: Біріншіден, сіз кодты Arduino Uno-ға жүктейсіз (бұл сандық жүйемен жабдықталған микроконтроллер) және кодты түрлендіру үшін аналогтық порттар (C ++)
Түймені іске қосатын қадам реттегіші: 4 қадам
Түймені іске қосатын қадам реттегіші:
Тікелей 4G/5G HD бейне ағыны DJI Drone -ден төмен кідірісте [3 қадам]: 3 қадам
Тікелей 4G/5G HD бейне ағыны DJI Drone-ден төмен кідірісте [3 қадам]: Келесі нұсқаулық кез-келген DJI дронынан HD сапалы бейне ағындарын алуға көмектеседі. FlytOS мобильді қосымшасы мен FlytNow веб -қосымшасының көмегімен сіз дроннан бейне ағынды бастай аласыз
Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): 6 қадам (суреттермен)
Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): Индуктивті зарядтау (сымсыз зарядтау немесе сымсыз зарядтау деп те аталады) - сымсыз қуат беру түрі. Ол портативті құрылғыларды электрмен қамтамасыз ету үшін электромагниттік индукцияны қолданады. Ең көп таралған қолданба - Qi сымсыз зарядтау