Damoc Alina Timofte Maria 1. Rezumat: Implementarea unui dispozitiv ce permite verificarea tempe

Documente similare
Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu mo

Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Pu

Microsoft Word - cap2.2.UNIX-NOS.doc

Lucrarea 11. IoT Internet of Things - Accesul prin Internet la obiecte sau dispozitive simple 1. Obiectivul lucrarii Lucrarea isi propune sa studieze

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de


Student: Mădălina-Maria Mitricioaei Titlul proiectului: IOT Sensor Hub Rezumat

PHP (II)

Top

Microsoft Word - Curs 11 - PHP.doc

Lucrarea 10

Introducere în limbajul JavaScript

Proceduri stocate Syntax: CREATE PROCEDURE <Name> type1,...] AS -- secventa de comenzi SQL GO O procedura stocata se ruleaza cu EXEC: EXEC <N

Înregistrator de temperatură şi umiditate AX-DT100 Instrucţiuni de utilizare

Microsoft Word _POO_Lab_1_Modificari_v01.htm

HONEYWELL AWARD

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4

AcadNet Etapa Naţională Secțiunea calculatoare, clasele Citiți cu atenție toate subiectele înainte de a începe rezolvarea. Aveți 15 minut

SUBPROGRAME

Laborator 3

Microsoft Word - Curs 7 - JavaScript.doc

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Laborator - Configurarea de bază DHCPv4 pe un router Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gateway Ob

客厅电脑 酷影Q1000

COMISIA EUROPEANĂ DIRECȚIA GENERALĂ INFORMATICĂ Componenta de aplicare a politicii WiFi4EU Ghid de implementare v1.0 Cuprins 1. Introducere Br

DJV-COM 19 Octombrie 2011 Accesul la datele sistemei de la distanță a contului de energie a Compania DJV-COM Dacă aveţi instalată sistema de administr

Sisteme de calcul în timp real

Diapositive 1

Inserarea culorilor in tabele

2

客厅电脑 酷影Q1000

Declararea variabilelor

Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii

METODE PRACTICE DE IMPLEMENTARE A LABORATOARELOR VIRTUALE ONLINE PENTRU DOMENIUL ELECTRONICII SAU AUTOMATICII METHODS FOR THE IMPLEMENTATION OF ONLINE

ALGORITHMICS

Laborator Depanarea Rutării Inter-VLAN Topologie 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public. Page 1 of 8

Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele

Paradigme de programare

LUCRAREA NR

Microsoft PowerPoint - Curs_TPI_22_v01.ppt

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

fm

Laborator2 - ASR

Fişă tehnică ECL Comfort V c.a. şi 24 V c.a. Descriere şi aplicare În aplicaţiile de încălzire, ECL Comfort 110 poate fi integrat cu soluţia D

Cursul 10 - Shell scripting

QUICK START GUIDE

Cursul 10 - Shell scripting

Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Pu

Microsoft Word - 4-Interfete paralele.doc

Laborator 6 - Paradigme de Programare

GHID PENTRU RESETAREA PAROLEI Informații Generale Din dorința de a facilita procesul de autentificare, chiar dacă nu mai cunoașteti datele necesare, a

Biomedical Wi-Fi data transmissons

ZE SHP IB_DB A-00_RO.indd /4/14 19:39:30

Packet Tracer - Configurarea ACL-urilor extinse - Scenariul 1 Topologie Tabela de Adresare R1 Echipament Interfață Adresă IP Masca de subreţea Default

Ghid de conectare rapidă Cartela Internet Vodafone VMC R9.4 Cartela Internet Vodafone funcţionează cu aplicaţia Vodafone Mobile Connect

Înregistraţi produsul achiziţionat şi veţi putea beneficia de suport pe pagina CD250 CD255 SE250 SE255 Ghid de iniţiere rapidă

tehnologii web

Laborator 9 - Paradigme de Programare Aplicații ale modelelor de proiectare utilizând Python Problema 1: Având în vedere că metodele de a realiza logg

Creational design patterns

Laborator - Configurarea Rutelor IPv4 Statice și Implicite Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gate

în Tabletă convertibilă GHID DE UTILIZARE 8085 LKB001X CJB1FH002AZA

ep0149

Utilizare Internet

WorkCentre M123/M128, WorkCentre Pro 123/128, CopyCentre C123/128 Ghid de Configurare Rapidă pentru Reţea

PT-9800PCN_NUG_ROM.book

PowerPoint Presentation

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012

Limbaje de Programare Curs 8 – Fisiere

Guardian2012_RO3

Manual scurt pentru instalare rapida a Accesoriului Wi-Fi 1. Instalare fizica a accesoriului Wi-Fi 2. Intrare in modul AP pentru conectarea la reteaua

Slide 1

EW-7416APn v2 & EW-7415PDn Ghid de instalare Macintosh / v2.0 0

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

Modulator FM Bluetooth FMT-B6 TLL Manual de utilizare

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Ghidul pentru utilizator

Tablouri unidimensionale Problema 1 Să se determine mulţimea cifrelor unui număr natural n > 0, dat. Exemplu: n= Cifre = {1,2,3,7} Se cere să s

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Ghid de Referință Explicații sumare ale operațiunilor de rutină HL-L5000D HL-L5100DN HL-L5100DNT HL-L5200DW HL-L5200DWT HL-L6250DN Brother recomandă s

Slide 1

S.C. SEEKTRON S.R.L. Fişă de prezentare a produsului EYECAR B1 EYECAR B1 Observer Black Box Dispozitiv inteligent pentru înregistrarea evenimentelor r

CURS


DCP330C_540CN_QSG_ROM.book

Raportarea serviciilor de dializă la nivel CNAS

Ch

Microsoft Word - MANUAL_APP_ROMPOS_V7.docx

Instrucţiuni de montaj şi service pentru personalul de specialitate VIESMANN Vitocom 100 Tip LAN1 Interfaţă de comunicaţii pentru supravegherea şi con

Politica de confidențialitate site web Versiune din: Putem actualiza periodic prezenta Politică, pe măsură ce activitatea și serviciile pre

Ghid de referinţă rapidă pentru Seria ZT400™

E_d_Informatica_sp_MI_2015_bar_02_LRO

Microsoft PowerPoint - 11_USO_curs_08.ppt [Compatibility Mode]

Inteligență artificială Laboratorul 8 Perceptronul și rețele de perceptroni în Scikit-learn Stanga :multimea de antrenare a punctelor 3d; Dreapta : mu

Instrucţiuni de montaj pentru personalul de specialitate VIESMANN Set de extensie pentru un circuit de încălzire cu vană de amestec Nr. de comandă 742

EMEA IPG LES PLP 2P 7pt Datasheet

Modul multiprotocol I/O compact pentru Ethernet

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 6. Vizualizarea statisticilor prin int

Transcriere:

Damoc Alina (damoc.alina93@gmail.com) Timofte Maria (maria.a.timofte@gmail.com) 1. Rezumat: Implementarea unui dispozitiv ce permite verificarea temperaturii dintr-o camera. Resurse materiale: FRDM KL25Z,Raspberry Pi,senzor temperatura(termistor) Timp: 2h/sapt * 14 = 28h Atributii echipa: Damoc Alina - Preluarea temperaturii folosind senzorul de temperatura impreuna cu FRDM KL25Z si transmiterea prin seriala catre Raspberry Pi. Timofte Maria - Preluarea datelor rezultate de la FRDM KL25Z si transmiterea/afisarea lor in timp real pe un server web. Crearea unui modul py folosit pt a starta serverul. 2. Raport sintetic alternative solutie Solutii alternative pentru server web:rest API,Apache, insa noi am preferat Flask, pentru FRDM KL25Z - Arduino si pentru Raspberry PI - Bannana PI, Intel Galileo. 3. Ciorna solutie

4. Descriere activitati implementare, secventa test 5. Raport final/ prezentare Cod care este rulat pe placa FRDM KL25Z: #include "mbed.h" #define NSAMPLES 10 /*Proiectul citeste valoarea unui voltaj de la termistor si il transforma in temperatura,care va trimite pe seriala valoarea*/ Serial pc(usbtx, USBRX); AnalogIn ain(a4); DigitalOut led1(led1);//led_red-temperatura ridicata DigitalOut led2 (LED2);//LED_GREEN-temperatura normala DigitalOut led3 (LED3);//LED_BLUE-temperatura scazuta float gettemperature(float voltage); int main() {

float voltageaverage; led1=1; led2=1; led3=1; while (true) { int i=0; voltageaverage=0; for (i=0;i<10;i++) { voltageaverage+=ain.read(); wait(0.5/nsamples); voltageaverage/=nsamples; float temp=gettemperature(voltageaverage); pc.printf("t=%2.3f V=%2.3f\n", temp,voltageaverage); if(temp<23) { led3=0; led1=1; led2=1; else if((23<=temp)&&(temp<=27)) { led2=0; led1=1; led3=1; else { led1=0; led2=1; led3=1; return 0; // resistance at 25 degrees C #define THERMISTORNOMINAL 22000 // temp. for nominal resistance (almost always 25 C) #define TEMPERATURENOMINAL 25 // The beta coefficient of the thermistor (usually 3000-4000)

#define BCOEFFICIENT 4250 // the value of the 'other' resistor #define SERIESRESISTOR 4700 float gettemperature(float voltage) { // convert the value to resistance float rezthermistor=seriesresistor/voltage-seriesresistor; float steinhart; steinhart = rezthermistor / THERMISTORNOMINAL; // (R/Ro) steinhart = log(steinhart); // ln(r/ro) steinhart /= BCOEFFICIENT; // 1/B * ln(r/ro) steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To) steinhart = 1.0 / steinhart; // Invert steinhart -= 273.15; // convert to C return steinhart; Module Python: Crearea serverului web am realizat-o cu libraria Flask, prin module Python, iar html-ul rezultat din cadrul functiei index() returneaza un cod html. Acest html ii va aparea utilizatorului care se va conecta la adresa http://localhost/5001. Această adresă îi va apărea și în inboxul de pe contul de gmail sub forma: Adresa de conectare este 192.168.137.171:5001 Temperatura este: 26.375 celsius Din citirea datelor de pe seriala va rezulta informatia legata de temperatură, informație afișată în pagina web împreună cu data și ora curentă. Mai jos aveți modulul python: import socket from flask import Flask import serial, time from time import gmtime,strftime import os import sys import yagmail #import sqlmodule #writedata(str)

def splitvalues(values): str=((values.split(' ')[0]).split('='))[1] return str def readingserial(): try: ser=serial.serial('/dev/ttyacm0', 9600) serial_line = ser.readline() serial_line2 = ser.readline() ser.close() return serial_line2 except: print "<p> error" + sys.exc_info()[0] + "</p>" return "<p> error" + "error" + "</p>" def get_ip(): s = socket.socket(socket.af_inet, socket.sock_dgram) try: # doesn't even have to be reachable s.connect(('10.255.255.255', 0)) IP = s.getsockname()[0] except: IP = '127.0.0.1' finally: s.close() return IP app = Flask('_name_') @app.route("/test") def hello(): ser=readingserial() str=splitvalues(ser) return str+' celsius' @app.route("/") def index():

return ''' <html> <head> <title> Home </title> <meta http-equiv="refresh" content="3"> </head> <body> <h1> Temperature at: ''' + strftime("%y-%m-%d %H: %M: %S",gmtime()) + ''' </h1> <h1>''' +splitvalues(readingserial()) +''' celsius </h1> </body> </html> ''' if name == " main ": #app.debug=true port2=5001 try: time.sleep(10) yag=yagmail.smtp('damoc.alina93@gmail.com','xxxxx') //unde xxx modifici și pui parola de la contul de gmail în acest caz #f = os.popen('ifconfig eth0 grep "inet\ addr" cut -d: -f2 cut -d" " -f1') your_ip=get_ip() email_body='adresa de conectare este '+your_ip+':'+str(port2) email_body=email_body+'\ntemperatura este: '+hello() yag.send('damoc.alina93@gmail.com','serverul de pe Rasberry a fost pornit',email_body) app.run(host='0.0.0.0',port=port2) except: print "exception" time.sleep(5) Pentru a nu rula scriptul din linia de comanda manual, acesta este apelat automat intr-un script salvat in directorul /home/pi/launcher. Folosindu-ne de utilitatea din unix a comenzii crontab acest launcher este apelat automat in momentul in care SO unix al lui Raspberry PI este pornit. #!/bin/sh cd / cd /home/pi/launcher sudo python alina.py

cd / Pentru a verifica conectarea la serverul web, am directionat intr-un fisier log mesajele legate de starea serverului. / ***************************************************************************************************** /