- Повезивање 16к2 ЛЦД-а са Распберри Пи:
- Кружни дијаграм:
- Прикажите ИП адресу Распберри Пи на ЛЦД-у:
- Повремено извршавајте скрипте користећи 'цронтаб':
Главни проблем током рада са Распберри Пи је знати ИП адресу Распберри Пи која ће бити потребна за пријаву на њу помоћу неког ССХ или клијента за пренос датотека. Дакле, данас ћемо поделити неке Питхон скрипте како бисмо пронашли локалну ИП адресу вашег Распберри Пи на мрежи и приказали је на ЛЦД екрану 16к2. Такође ћемо додати скрипту у Цронтаб тако да се може покретати сваких 10 минута и сваки пут ћемо имати ажурирану ИП адресу.
Повезивање 16к2 ЛЦД-а са Распберри Пи:
Пре него што пронађемо ИП адресу Распберри ПИ, прво треба да повежемо 16к2 ЛЦД са Распберри Пи. Овде смо у овом пројекту користили спољну библиотеку Адафруит за повезивање ЛЦД-а 16к2 са Распберри Пи, помоћу које вам није потребно писати много линија кода за погон ЛЦД-а, а можете директно да штампате на ЛЦД-у користећи само један ред код. Међутим, ову библиотеку је креирао Адафруит, али се може користити за било који ЛЦД модул који има ХД44780 контролер.
Да бисмо користили библиотеку Адафруит, прво је морамо инсталирати помоћу наредби испод. Прва наредба ће клонирати спремиште ЦхарЛЦД (од компаније Адафруит) на вашем Распберри Пи, друга наредба ће вас одвести унутар тог преузетог директорија и на крају морамо извршити сетуп.пи скрипту, представљену у директоријуму Адафруит_Питхон_ЦхарЛЦД, да бисмо инсталирали библиотеку.
гит цлоне хттпс://гитхуб.цом/адафруит/Адафруит_Питхон_ЦхарЛЦД.гит цд./Адафруит_Питхон_ЦхарЛЦД судо питхон сетуп.пи инсталл
Сада је инсталирана библиотека за ЛЦД 16к2 и можете да користите њене функције само увозом ове библиотеке у ваш питхон програм користећи линију испод:
увези Адафруит_ЦхарЛЦД као ЛЦД
У директоријуму ' екамплес ' који се налази у директоријуму библиотеке (Адафруит_Питхон_ЦхарЛЦД) налази се неколико примера скрипти. Можете тестирати подешавање покретањем цхар_лцд.пи примера скрипте. Али пре тога, требате повезати пинове ЛЦД-а са Распберри Пи како је дато испод у дијаграму кола у следећем одељку.
Такође можете повезати ЛЦД са неким другим ГПИО пиновима Распберри Пи-а, све што је потребно да бисте споменули исправне игле за међусобно повезивање у вашем питхон програму као доле. Овде сазнајте више о Распберри Пи ГПИО пиновима.
# Распберри Пи пин подешавање лцд_рс = 18 лцд_ен = 23 лцд_д4 = 24 лцд_д5 = 16 лцд_д6 = 20 лцд_д7 = 21 лцд_бацклигхт = 2
Сада можете директно да користите функције које пружа библиотека Адафруит за контролу ЛЦД-а. Неке од функција су дате у наставку; више можете пронаћи у примеру скрипте:
- лцд.мессаге (порука) = За испис текста на ЛЦД екрану.
- лцд.цлеар () = За брисање ЛЦД екрана.
- сет_цурсор (цол, ров) = Преместите курсор на било које место у колони и реду.
- лцд.блинк (Труе) = За трептање курсора (Труе или Фалсе)
- лцд.мове_лефт () = За померање курсора улево за једну позицију.
- лцд.мове_ригхт () = За померање курсора удесно за један положај.
Ако желите да повежете ЛЦД без употребе било које спољне библиотеке, можете погледати наш претходни водич, где смо написали све функције за ЛЦД 16к2. Означите овај за повезивање ЛЦД-а у 8-битном режиму и овај за повезивање ЛЦД-а у 4-битном режиму.
Кружни дијаграм:
Прикажите ИП адресу Распберри Пи на ЛЦД-у:
Након повезивања 16к2 ЛЦД-а са Распберри Пи, сада морамо добити ИП адресу Распберри Пи-а и одштампати је на ЛЦД-у користећи Питхон Сцрипт. Постоји пуно начина за добијање локалне ИП адресе Распберри Пи, овде описујемо три Питхон скрипте да бисмо добили ИП адресу, можете користити било који од њих.
Коришћење Линук наредби:
На терминалу можемо лако добити ИП адресу користећи хостнаме –И наредбу, па ако можемо покренути линук наредбу из питхона, онда можемо добити ИП адресу. Дакле, да бисмо покренули Линук наредбе из Питхона, морамо увести библиотеку под називом наредбе, тако да ће комплетан програм бити као у наставку:
време увоза увоз Адафруит_ЦхарЛЦД као команде за увоз ЛЦД-а # Подешавање пин-а Распберри Пи лцд_рс = 18 лцд_ен = 23 лцд_д4 = 24 лцд_д5 = 16 лцд_д6 = 20 лцд_д7 = 21 лцд_бацклигхт = 2 # Дефинишите величину ЛЦД колоне и ретка за ЛЦД ЛЦД 16к2. лцд_цолумнс = 16 лцд_ровс = 2 лцд = ЛЦД.Адафруит_ЦхарЛЦД (лцд_рс, лцд_ен, лцд_д4, лцд_д5, лцд_д6, лцд_д7, лцд_цолумнс, лцд_ровс, лцд_бацклигхт) лцд.двд. ('име хоста -И')) тиме.слееп (10.0) # Сачекајте 5 секунди лцд.цлеар ()
Такође можете заменити наредбу хостнаме –И у програму наредбом испод ако желите да добијете ИП адресу помоћу поузданије наредбе ифцонфиг :
лцд.мессаге (цоммандс.гетоутпут ('ифцонфиг влан0 - греп "инет \ аддр" - цут -д: -ф2 - цут -д "" -ф1'))
Коришћење Соцкет програмирања:
Овде у овом програму ћемо створити утичницу породице АФ_ИНЕТ и откуцати СОЦК_ДГРАМ користећи ову линију: с = соцкет.соцкет (соцкет.АФ_ИНЕТ, соцкет.СОЦК_ДГРАМ) , затим ћемо створити везу кроз утичницу користећи неко име хоста или ип адресу попут 8.8.8.8, такође можете да користите неку другу веб локацију да бисте се повезали са сокетом као што је гмаил.цом. Тако можемо добити локалну ИП адресу РПи из утичнице која је створена за комуникацију између Распберри Пи и лажне ИП адресе. Испод је целокупни програм:
време увоза увоз Адафруит_ЦхарЛЦД као прикључак за увоз ЛЦД-а # Распберри Пи пин сетуп лцд_рс = 18 лцд_ен = 23 лцд_д4 = 24 лцд_д5 = 16 лцд_д6 = 20 лцд_д7 = 21 лцд_бацклигхт = 2 # Дефинишите величину ЛЦД колоне и реда за ЛЦД ЛЦД 16к2. лцд_цолумнс = 16 лцд_ровс = 2 лцд = ЛЦД.Адафруит_ЦхарЛЦД (лцд_рс, лцд_ен, лцд_д4, лцд_д5, лцд_д6, лцд_д7, лцд_цолумнс, лцд_ровс, лцд_бацклигхт) дефад_дис_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дресс_дисплаи_дд_дресс_дресс_дресс_дресс_дисплаи_дресс_дресс_дисплаи_дресс_дресс_дисплаи.пхп с = соцкет.соцкет (соцкет.АФ_ИНЕТ, соцкет.СОЦК_ДГРАМ) с.цоннецт (("8.8.8.8", 80)) ип_аддресс = с.гетсоцкнаме () с.цлосе () ретурн ип_аддресс лцд.мессаге ('Локална ИП адреса: \ н ') лцд.мессаге (гет_ип_аддресс ()) # Сачекајте 5 секунди тиме.слееп (10.0) лцд.цлеар ()
Овде сазнајте више о Соцкет програмирању у питхону.
Коришћење модула 'фцнтл':
Овај модул врши контролу датотека и И / О контролу на дескрипторима датотека. Овде се користи за издвајање ИП адресе из мрежних датотека. Испод је целокупни Питхон код:
време увоза увоз Адафруит_ЦхарЛЦД као ЛЦД утичница за увоз импорт фцнтл импорт струцт # Распберри Пи пин сетуп лцд_рс = 18 лцд_ен = 23 лцд_д4 = 24 лцд_д5 = 16 лцд_д6 = 20 лцд_д7 = 21 лцд_бацклигхт = 2 # Дефинишите величину ЛЦД колоне и реда за 16к2 ЛЦД. лцд_цолумнс = 16 лцд_ровс = 2 лцд = ЛЦД.Адафруит_ЦхарЛЦД (лцд_рс, лцд_ен, лцд_д4, лцд_д5, лцд_д6, лцд_д7, лцд_цолумнс, лцд_ровс, лцд_Цет.АСОФ (соцкет). врати соцкет.инет_нтоа (фцнтл.иоцтл (с.филено (), 0к8915, # СИОЦГИФАДДР струцт.пацк ('256с', нетворк))) лцд.мессаге ('Лоцал ИП Аддресс: \ н') лцд.мессаге (гет_интерфаце_ипаддресс ('влан0')) # Сачекајте 5 секунди тиме.слееп (10.0) лцд.цлеар ()
Овде сазнајте више о коришћењу модула 'фцнфл'.
Повремено извршавајте скрипте користећи 'цронтаб':
Завршни корак је додавање уноса за периодично покретање ове скрипте на сваких 15 минута како бисмо могли сваки пут да ажурирамо ИП. Да бисмо то урадили, потребно је да уредимо црон датотеку помоћу наредбе испод:
цронтаб –е
А затим унесите доњи ред на дну црон датотеке и сачувајте је помоћу ЦТРЛ + Кс, затим И, а затим унесите.
* / 15 * * * * судо питхон /хоме/пи/ип_аддресс_лцд.пи
Можете да промените адресу у складу са локацијом ваше датотеке Питхон Сцрипт, а такође можете да промените трајање у којем желите да више пута покренете скрипту да бисте добили ажурирану ИП адресу.