


An exciting Internet of Things graduation project (solution) in PHP
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.
##Internet of Things Graduation ProjectOverall System Design Plan
Arduino Raspberry Pi Laravel JSON RESTful Ajax Python HighCharts
Hardware solution selection
MCU selectionArduino
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Alipay PHP...

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.
