Home  >  Article  >  Backend Development  >  An exciting Internet of Things graduation project (solution) in PHP

An exciting Internet of Things graduation project (solution) in PHP

慕斯
慕斯forward
2021-06-11 10:23:323465browse

This article shares with you the exciting Internet of Things Graduation Project (Solution), which has certain reference value. Friends in need can refer to it. I hope it will be useful to everyone. Helps.

An exciting Internet of Things graduation project (solution) in PHP

##Internet of Things Graduation ProjectOverall System Design Plan

Arduino Raspberry Pi Laravel JSON RESTful Ajax Python HighCharts

Hardware solution selection

MCU selection

Arduino

Arduino is an open source single-chip microcomputer. It uses the Atmel AVR microcontroller, adopts an open source-based software and hardware platform, and is built on the open source simple I/O interface. board, and has a Processing/Wiring development environment using languages ​​similar to Java and C.

51

Single-chip microcomputer, full name: Single-Chip Microcomputer (English: Single-Chip Microcomputer), also known as microcontroller (Microcontroller), is a central processing unit, A microcomputer in which memory, timer/counter (Timer/Counter), various input and output interfaces, etc. are all integrated on an integrated circuit chip. Compared with general-purpose microprocessors used in personal computers, it emphasizes self-supply (no external hardware) and cost savings. Its biggest advantage is that it is small in size and can be placed inside the instrument, but it has small storage capacity, simple input and output interfaces, and low functions.

Software solution selection

Data communication method selection

RESTful

Representation state transfer is a software architecture style proposed by Dr. Roy Fielding in his doctoral thesis in 2000. Among the three mainstream web service implementation solutions, because REST mode web services are significantly simpler than complex SOAP and XML-RPC, more and more web services are beginning to be designed and implemented in the REST style.

soap

Simple Object Access Protocol is a protocol specification for exchanging data. It is used in computer network Web services to exchange structured information. SOAP is designed to simplify the process of web servers extracting data from XML databases, save time in formatting pages, and perform data exchanges between different applications in accordance with the HTTP communication protocol and XML format, making it abstract from language implementation, platform and hardware.

Data communication format selection (reprinted reserved: Internet of Things graduation project)

JSON

JSON (JavaScript Object Notation) It is a lightweight data exchange format. Easy for humans to read and write. It is also easy for machines to parse and generate. It is based on JavaScript Programming Language, a subset of Standard ECMA-262 3rd Edition - December 1999. JSON uses a completely language-independent text format, but also uses conventions similar to the C language family (including C, C, C#, Java, JavaScript, Perl, Python, etc.). These properties make JSON an ideal data exchange language.

XML

Extensible Markup Language (English: eXtensible Markup Language, referred to as: XML) is a markup language. Tags refer to information symbols that computers can understand. Through such tags, computers can process articles containing various information. How to define these tags, you can choose an internationally accepted markup language, such as HTML, or you can use a markup language like XML that is freely decided by the relevant people. This is the extensibility of the language. XML is a simplified modification from the Standard Generalized Markup Language (SGML). It mainly uses extensible markup language, extensible style language (XSL), XBRL and XPath, etc.

Network service plan selection

Language selection

##PHP Laravel

PHP (full name: PHP: Hypertext Preprocessor, that is, "PHP: Hypertext Preprocessor") is an open source general-purpose computer scripting language, especially suitable for network development and can be embedded in HTML. The syntax of PHP absorbs the characteristics of popular computer languages ​​such as C language, Java and Perl, making it easy for ordinary programmers to learn. The main goal of PHP is to allow web developers to quickly write dynamic pages, but PHP is also used in many other areas.

Laravel

Laravel is a simple and elegant PHP Web development framework (PHP Web Framework). It can free you from messy codes like noodles; it can help you build a perfect network APP, and every line of code can be concise and expressive.

Java Spring

Java

Java is an object-oriented programming language that can write cross-platform application software. , is the general name for the Java programming language and Java platform (i.e. JavaSE, JavaEE, JavaME) launched by Sun Microsystems in May 1995. Java technology has excellent versatility, efficiency, platform portability and security. It is widely used in personal PCs, data centers, game consoles, scientific supercomputers, mobile phones and the Internet. It also has the world's largest professional community of developers. . In the global industrial environment of cloud computing and mobile Internet, Java has significant advantages and broad prospects.

Spring

Spring also represents an open source framework that was created by Rod Johnson to solve the complexity of enterprise application development. One of the main advantages of the framework is its layered architecture, which allows users to choose which components to use while providing an integrated framework for J2EE application development. Spring uses basic JavaBeans to accomplish things that were previously only possible with EJBs. However, Spring's uses are not limited to server-side development. Any Java application can benefit from Spring in terms of simplicity, testability, and loose coupling.

Others

Data communication transceiver equipment

Raspeberry PI

Raspberry Pi is a mini computer aimed at computer hobbyists, teachers, primary school students, and small businesses. It is pre-installed with Linux system. It is only the size of a credit card. It is equipped with an ARM architecture processor and has computing performance similar to that of a smartphone. In terms of interfaces, Raspberry Pi provides a USB interface for keyboard and mouse, as well as a Gigabit Ethernet interface, an SD card expansion interface, and an HDMI high-definition video output interface that can be connected to a monitor or TV.

Debian

Debian in a broad sense refers to a cooperative organization and its works dedicated to creating a free operating system. Since the Linux macro kernel is the main kernel among the many kernel branches of the Debian project Mainly, and most of the basic tools in the operating system created by Debian developers come from the GNU project, so "Debian" often refers to Debian GNU/Linux.

Linux

Linux is a Unix-like operating system that is free to use and spread freely. It is a multi-user, multi-tasking, and multi-threaded operating system based on POSIX and UNIX. and multi-CPU operating systems. It can run major UNIX software tools, applications and network protocols. It supports 32-bit and 64-bit hardware. Linux inherits the network-centric design philosophy of Unix and is a multi-user network operating system with stable performance.

Auxiliary language selection

Python

Python (KK English pronunciation: /ˈpaɪθən/), is an object-oriented , literal translation computer programming language, invented by Guido van Rossum at the end of 1989, and the first public release was released in 1991. Python syntax is concise and clear, with rich and powerful class libraries. It is often nicknamed the glue language. It can easily connect various modules made in other languages ​​​​(especially C/C) together. A common application situation is to use python to quickly generate a prototype of the program (sometimes even the final interface of the program), and then rewrite the parts with special requirements in a more suitable language, such as the graphics rendering module in 3D games. If the speed requirement is very high, it can be rewritten in C.

Ruby

Ruby, a scripting language created for simple and fast object-oriented programming (object-oriented programming), was developed by the Japanese Yukihiro Matsumoto in the 1990s and complies with the GPL agreement and Ruby License. It takes inspiration and features from Perl, Smalltalk, Eiffel, Ada, and Lisp languages. The Ruby language itself has also developed Ruby language alternatives for other platforms such as JRuby (Java platform) and IronRuby (.NET platform). The author of Ruby started writing Ruby on February 24, 1993, and it was not officially released to the public on fj (news group) until December 1995. Because the pronunciation of Perl is the same as the birthstone of June, pearl, Ruby was named after the birthstone of July, ruby.

Serial communication module

Pyserial

Encapsulates the serial communication module and supports Linux, Windows, BSD (may support all Operating system that supports POSIX), supports Jython (Java) and IconPython (.NET and Mono).

Web page communication

Ajax

AJAX stands for "Asynchronous JavaScript and XML" (Asynchronous JavaScript and XML). AJAX is not an abbreviation, but a noun created by Jesse James Gaiiett. It refers to a web development technology for creating interactive web applications.

Data visualization framework selection

HighCharts

Highcharts is a chart library written in pure JavaScript, which can be very simple Easily add interactive charts to web sites or web applications, and are free for personal study, personal websites, and non-commercial use. The chart types supported by HighCharts include line charts, area charts, bar charts, pie charts, scatter charts and comprehensive charts.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of An exciting Internet of Things graduation project (solution) in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete