Ismerkedés a Python programnyelvvel. és annak micropython változatával

Hasonló dokumentumok
Ismerkedés a Python programnyelvvel. és annak micropython változatával

Imperatív programozás

Python tanfolyam Python bevezető I. rész

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

A Python programozási nyelv

Hálózatok építése és üzemeltetése

BASH script programozás II. Vezérlési szerkezetek

Imperatív programozás

Imperatív programozás

PYTHON. Avagy hosszú az út a BioPythonig

Mintavételes szabályozás mikrovezérlő segítségével

Programozási nyelvek Python

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

Budapesti Műszaki- és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar MIT. Nagyteljesítményű mikrovezérlők tantárgy [vimim342]

A Python programozási nyelv

Számítógépes Hálózatok. 1. Gyakorlat

AWK programozás, minták, vezérlési szerkezetek

Kezelési leírás a FEC01/06 típusú programozható és távműködtethető lángeffekt vezérlő készülékhez

2018, Diszkrét matematika

6.2. TMS320C64x és TMS320C67xx DSP használata

AWK programozás, minták, vezérlési szerkezetek

Python bevezető foglalkozás Python bevezető foglalkozás

Szkriptnyelvek. 1. UNIX shell

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

A C# programozási nyelv alapjai

Szoftvertechnológia alapjai Java előadások

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

Komputeralgebra Rendszerek

Python I. Vincze Dávid Miskolci Egyetem, IIT

C programozás. 1 óra Bevezetés

Tartalom jegyzék 1 BEVEZETŐ SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

Operációs Rendszerek II. labor. 2. alkalom

Java I. A Java programozási nyelv

Forráskód formázási szabályok

Informatika terméktervezőknek

PyS60....avagy Python a mobilon

Smalltalk 2. Készítette: Szabó Éva

A szerzõrõl... xi Bevezetés... xiii

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Számítógépes Hálózatok. 1. gyakorlat

Arduino bevezető Szenzorhálózatok és alkalmazásaik

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Magyar változat. A termék bemutatása. A hardver telepítése. PU013 Sweex 1 portos párhuzamos és 2 portos soros PCI kártya

Szoftvertelepítési útmutató NPD HU

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

A nyomtatókkal kapcsolatos beállításokat a Vezérlőpulton, a Nyomtatók mappában végezhetjük el. Nyomtató telepítését a Nyomtató hozzáadása ikonra

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

Digitális technika VIMIAA01 9. hét

Bevezetés a mikrovezérlők programozásába: Ismerkedés az Arduino fejlesztői környezettel

AUSB DIGITÁLIS HÚSKEMÉNYSÉGMÉRŐ

Szkriptnyelvek II. Perl programok

eszemélyi Kliens Szoftvercsomag

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

KIRA. KIRA rendszer. Telepítési útmutató v1

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Telenor Webiroda. Kezdő lépések

GQ-3x és GQ-4x USB univerzális programozó Kézikönyv

Gyakorló feladatok Gyakorló feladatok

2. modul - Operációs rendszerek

Könyvtári címkéző munkahely

Labor gyakorlat Mikrovezérlők

Hardver és szoftver követelmények

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

A C programozási nyelv II. Utasítások. A függvény.

DWL-G122 Vezeték nélküli USB Adapter. CD-ROM (amely tartalmazza a drivereket, a használati útmutatót és a garanciát)

S z á m í t ó g é p e s a l a p i s m e r e t e k

Occam 1. Készítette: Szabó Éva

A Novitax ügyviteli programrendszer első telepítése

1. Alapok. #!/bin/bash

Útmutató az OKM 2007 FIT-jelentés telepítéséhez

Bemutatás. Elrendezés. Leírás. Műszaki adatok. Funkciók

Kameleon Light Bootloader használati útmutató

Magyar változat. A termék bemutatása. A hardver telepítése. PU011 Sweex 1 portos párhuzamos PCI expressz kártya

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

OOP #14 (referencia-elv)

A LEGO Mindstorms EV3 programozása

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Java II. I A Java programozási nyelv alapelemei

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Java II. I A Java programozási nyelv alapelemei

TI TMDSEVM6472 rövid bemutatása

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari

VirtualBox, Debian telepítés

Funkcionális Nyelvek 2 (MSc)

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Számítógépes Hálózatok GY 1.hét

Átírás:

Ismerkedés a Python programnyelvvel és annak micropython változatával

A Python programozási nyelv története Az alapötlet 1980-ban született, 1989 decemberében kezdte el fejleszteni Guido van Rossum a CWI-n holland Matematikai és Informatikai központban A nevét a Monty Python Flying Circus BBC műsorról kapta 1991-ben jelent meg a 0.9.0-ás verzió 1994-ben 1.0 verzió, lambda, map, reduce CP4A (Computer Programming for Everybody) 1.6.1 GPL licence 2000 októberben 2.0-ás verzió, gc, unicode 2008 decemberében a python 3.0, nem kompatibilis a korábbival 2

A Python főbb jellemzői A cél az volt, hogy könnyen olvasható kódot készíthetünk benne a kód behúzásai jelölik a kódblokkot script nyelv, előfordított kódot futtat (megvalósításfüggő) hordozható, windows, linux, macos, létezik java kódot generáló jpython Dinamikus változó és típuskezelés, az alaptípusok érték szerint adódnak át, így összehasonlíthatóak, a többi típusnál referenciát tárolnak (vitatható) hivatkozás számláló mechanizmus, egyfajta szemétgyűjtő algoritmus objektum orientált nyelv, támogatja a többszörös öröklést bővíthető, könnyen illeszthető meglévő C könytárakhoz csomagkezelővel rendelkezik (pip install) ingyenes 3

Python beszerzése, futtatása PC-n Letölthető, oprendszer és géptípus választás után https://www.python.org/downloads/windows/ érdemes MSI installer választani windows alatt Linux alatt a disztribúció csomagkezelőjével Telepítése: MSI esetén a tovább (next) gomb nyomogatása Futtatás: cmd ablakban python szó beírásával, vagy Start menü Python (command line) kiválasztása 4

Első python program futtatása Interaktív REPL (read-eval-print loop) A változó értékét a változó beírásával adja vissza Script mód A megírt script futtatása cmd ablakban Parancssori paraméterek, pl. -c 5

Nyelv foglalt szavai és blokkok létrehozása Foglalt szavak listája and as assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while with yield Blokkok létrehozása A blokkok minden esetben egy utasítással és egy kettősponttal kezdődnek, ez a fejléce A blokk belső sorai ugyanannyi behúzással kell kezdődjön, a tabulátor nem helyettesíthető szóközökkel. Érdemes a szövegszerkesztőt úgy beállítani, hogy a begépelt tabulátorokat x szóközre cserélje automatikusan. fejsor: blokk első sora... blokk utolsó sora 6

Változók elnevezése adattípusai, tárolása Minden python értéknek van egy adattípusa. Minden adattípus egy osztály és a változók ezeknek az osztályoknak egy-egy példányai, amik a memóriában egy id-val azonosított területen foglalnak helyet. A változók elnevezése a foglalt szavakon kívüli szavakkal lehetséges, kis és nagy betű különbözőnek számít és betűvel vagy _ kell kezdődjön, ezen felül tartalmazhat és kezdődhet is _ (aláhúzás) karakterrel. Létezik ajánlás a python nyelvhez PEP8 (Python Javító Javaslatok) amely a változók elnevezéséhez is ad javaslatot. 7

Python példák a böngészőben a pyserv.py program elindítása után írjuk a böngésző címsorába: http://localhost:8000 8

Értékadások, kifejezések több sorban, változók tárolásának módja Példa 1 9

Egyszerű adattípusok, literálok Példa 2 10

Tuple (véges rendezett lista) és set (halmaz) Példa 3 11

List lista, sorozat vagy tömb Példa 4 12

Dictionary, szótár vagy asszociatív tömb Példa 5 13

String, karaterlánc Példa 6 14

Utasítások, If feltételes elágazás és a for ciklus Példa 7 15

Utasítások, While ciklus, függvény definiálás, paraméterátadás Példa 8 16

Modulok használata, kivételkezelés Példa 9 17

Osztályok létrehozása, öröklés Példa 10 18

Láthatóság, aggregate generátor függvény Példa 11 19

IO műveletek, karakterlánc formázások Példa 12 20

Micropython és a PYboard A micropython egy mikrovezérlőn futtatható python megvalósítás. Létezik PyBoard ami a hivatalos hardver STM32F405RG mikrovezérlővel rendelkezik 168MHz ARM M4 1Mb flash, 192Kb RAM USB és SD kártya foglalat és 3 tengelyes gyorsulásmérő is helyet kapott a kártyán Számítógépre csatlakoztatva felismeri USB meghajtóként és egy driver letölthető a meghajtóról ami a virtuális soros port használatához kell. Ezek után a virtuális soros porton kapcsolódni lehet a futtatóhoz (REPL). Érdemes putty programot használni 21

micropython pyb modul alapjai, GPIO a hardver eszközhöz a pyb modulon keresztül lehet hozzáférni (ESP esetén machine a neve) a kártyán lévő led kezelése: GPIO kezelése: Gyorsulásmérő lekérdezése: 22

micropython pyb modul alapjai, DAC és ADC DAC kezelése: Szinusz hullám generálása: ADC: 23

micropython pyb modul i2c példa HTU21D modul, I2C hőmérséklet és páratartalom mérő module Hőmérséklet 14 bites felbontás 0.01 C >>> from pyb import I2C >>> i2c=i2c(2, I2C.MASTER) >>> i2c.scan() [64] 24

Micropython telepítése ESP8266 -ra Legegyszerűbben az ESP8266Flasher.exe -vel lehet feltölteni az ESP8266 Dev board-ra, a micropython bin állományt. COM port kiválasztása után a Config menüben kell kitallózni a letöltött bin állományt,majd az Operation menüben a Flash gombra kattintva elindul a feltöltés és a Flash gomb Stop-ra változik amíg tart. Bin állomány letölthető a http://micropython.org/download, Firmware for ESP8266 boards szekcióból A sikeres feltöltés és reset után terminálban megnyitva a COM portot 115200 -as baud rate-el, elérjük a REPL-t 25

ESP8266 specifikus python modulok, network 26

ESP8266 specifikus python modulok, DHT 27

Beküldött hőmérséklet kijelzése 28

OLED vezérlés 29

SD kártya kezelése és file IO 30

MicroPython Live Érdekes lehetőség, hogy egy pyboard bekamerázva elérhető és futtatható rajta tetszőleges program és vezérelhető a hozzá kapcsolódó periféria is. Az oldal elérhető http://micropython.org/live/ Az example gomb melletti nyilakkal előre megírt tesztprogramok lapozgathatóak, de tetszőleges program is írható vagy a meglévő módosítható futtatás előtt. Futtatni a RUN! gombbal lehetséges a kódot. 31