Integrating Embedded Systems with Computer Software Using VB.NET
This presentation by Sulaiman Salim Al Habsi explores the interfacing of embedded systems with computer software through VB.NET. Highlighting its object-oriented design and syntax that closely resembles human language, it shows how to utilize VB.NET for serial communication, web requests, and threading. Key topics include data types, loops, functions, and the configuration of serial ports to communicate with microcontrollers. The session also emphasizes the advantages of using VB.NET over proprietary software, and alternative open-source options for accessing hardware.
Integrating Embedded Systems with Computer Software Using VB.NET
E N D
Presentation Transcript
Interfacing Embedded System with Computer Software Using VB.net Presented by :- SulaimanSalim AL Habsi
Why VB.NET ???????? • New implementation of classic VB on .NET framework . • Object Oriented Programming Language . • Very close to human language . • Not case sensitive . • Easier Graphical User Interface (GUI).
Data types and Declaration • int Integer • string String • double Double • char Char • bool Boolean • Dim [variable name] As [data type]. • Do not use semicolon !!!!! .
Function and Loops • While loop • Do While (condition) • - statement • Loop • Do Until (condition) • -statement • loop
Functions and loops • For loop • For [variable name]=initTo [max] • -statement • Next • For each (google)
Function • Public Sub functionName(ByRef f As Integer) • End Sub
Function • Public Function R_function(ByValh As String) As String • Return "String" • End Function
DLL • Use ready code • Intermediate language for all .NET frame work • Add to the project • Import to the class
URL request • URL request are used request a html document from a web server . • If you are behind a web proxy you’ll need to but proxy setting .
How to make a URL requist • Imports System.Net • ImportsSystem.IO • NewwebClient • New stream = webClient.OpenRead • NewStreamReader(stream) • While Not isr.EndOfStream • str += isr.ReadLine() • End While
Proxy setting • New NetworkCredential(“username", “pass", “domain") • New WebProxy(“proxyserver", port) • proxy.Credentials = cr • Dim stoper As Boolean = True • proxy.BypassProxyOnLocal= True
Thread • Thread: making the program doing more than one task at the same time . • Some object already have threads • VB does not allow accessing thread form an other thread . We need an other solution • Timer is on of the solution of the problem • If your thread task is done then you cant start the thread again
How to create a thread • Imports Threading ‘ outside the class • Dim myThreadAs Thread • myThread = newThead(addressOfmyInfitTask) • myThread.start()
Example • Make a http request to Google web site . • 1- display full html in a text field • 2- display the head tag only . • 3- make a other button to request SQU web site in the same time . • 4- modify the code in 3 so you use less redundancy .
Serial communication in ES • Atmel AVR microcontrollers
Serial communication • Send bits in serial • Less wiring and asynchronous and synchronous • Baud rate is number of bits per second =(F_CPU/16*baud)-1 • voltage level in microcontroller is different from computer (use Max232).
UBRR : set baud rate UDR : transmit receive data RCX: Data receive complete UDRE:Ready for transition U2X : double the transition baud rate RXEN: Enable Receive Data TXEN: Enable Transmit Data UCPOL: Using the USART as synchronous or a synchronous UCSZ0/1:select the Size Of data(5,6,7,8)bits USBS: number of stop bit UPM0/1:parity (none, odd , even) UMSEL /URSEL : put to Zero.
Serial port object • Imports system.io.ports • Define connection configurations • Using with • Read the buffer using timer • Change the ports form the system • Some GSM modems use virtual serial port • Using AT command to control GSM Modem • You can put some of the configuration during the creation of the object.
Create and configure serial port • ImportsSystem.IO.Ports • Dim serialport As new SerialPort • Withserialport • .PortName= “COM1" • .BaudRate = 9600 • .StopBits = StopBits.One • .DataBits = 8 • .Parity = Parity.None • .Open() • End With
example • Write a program in VB.net that receive a message (number from a web server and display it in a BCD 7 segments in the testing board) use the URL (http://172.22.13.12/embedded)
If you are enemy of Proprietary software • You can use shell script to access your computer hard ware and web servers . • You can user javacomm library to access you computer hard ware and make URL request . • You can follow the new project www.mono-project.com/. • Or any other Opensource languages like python . • You can use a GSM/GPRS modem to direct access the internet with out the need for computer. • Smart phone already have application to handle web events and send notifications