Powering the Raspberry Pi using an Arduino. Raspberry Pi based smart home control system

The Raspberry Pi is an innovative product from English developers. Their main goal was to popularize computer education among the general population, make programming a wider and more accessible discipline and encourage more people to create something new with the help of new technologies.

The product name Raspberry Pi stands for "raspberry pie", the manufacturing company thus emphasized that this computer is intended primarily for children.

What is this invention and what is the application of the Raspberry Pi in modern world, we will talk about this below.

Raspberry Pi computer features

A Raspberry Pi device is a small, one-board computer without a case. The developers urge both children and adults to pay attention not only to the use of computers, but also to its study from the inside, and also propose to use imagination and do something of their own on the basis of this computer.

As the developers believe, the Raspberry Pi device should perform such educational goals:

  • motivate students to develop programming skills;
  • assist in the endeavors of young programmers;
  • help experienced computer scientists discover new horizons and make new achievements in the field of programming.

In the home country of the Raspberry Pi device, the UK, the complete kit can be purchased for as little as £ 75. The kit itself consists of the following components:

  • the Raspberry Pi model B mini-computer itself;
  • micro CD (8 gigabytes);
  • keyboards;
  • optical mouse;
  • micro CD Card adapter;
  • power supply;
  • hDMI cables and micro usb.

The first batch of Raspberry Pi was produced in the Middle Kingdom, but since the end of 2012, production has been entirely moved to the UK, to a plant in Pencoid (Wales). On average, the plant produces about 40,000 Raspberry Pi mini-computers per week.

Raspberry Pi Specifications

So what are specifications of this unique computer without a case, let's find out:

Raspberry Pi Computer Applications for Home

The most common Raspberry Pi mini-computer is the 215 MB Model B random access memory with Ethernet support... There is also another modification of the device, in which the components are placed more compactly, it also has four uSB port , the number of input and output GPIO ports in it is significantly greater, in addition, there is no composite video output.

The areas of application of the Raspberry Pi computer are quite wide. Despite the fact that this device is not very powerful, it is a fully functional computer. If you need a machine for solving simple tasks that do not require the use of powerful resources in terms of computing, then you can safely connect to the Raspberry Pi device standard machine elements:

  • monitor;
  • mouse;
  • keyboard;
  • connection of any Linux distribution kit.

At home, you can use the Raspberry Pi device for the following purposes:

  • creating a home media server;
  • as a storage server;
  • as a "think tank" for automated machines or robots;
  • as a home automation server (or “smart home” system).

As we can see, the scope of application of the Raspberry Pi for private needs can be different. Basically, these are narrow-profile tasks related to the work of programmers or other developers. And if we talk about widespread use, then it is worth familiarizing yourself with the features of using the Raspberry Pi for home automation systems or the so-called smart home ... Let's look at the practical side of this issue.

Any home automation system or the so-called smart home is quite complex and multi-structural. In addition to the fact that it is designed to execute certain scenarios that are set by the user, it has the ability to make its own decisions in a certain emergency situation. We can safely say that such a system has the makings of artificial intelligence.

Many people today apply the concept of "smart home" to everything, for example:

  • gSM alarm;
  • water flow sensor;
  • light control, motion sensors, etc.

All these phenomena can be part of the structure of home automation, but they cannot be it individually.

A home automation system ("smart home") includes the following components:

  • central server;
  • it is connected via the RS485 interface with controllers that are located in every room and room of the house;
  • certain control devices are connected to the controllers to protect, control and regulate the operation of the system.

Such a network architecture of this system is good in that the owner of the house does not need to stretch inconvenient wires from each device to the server, but just needs to connect the controllers to which they are connected via a single UTP cable. One pair of its wires is used for the RS485 interface, while the others power sensors and controllers. It should be noted that the structure of work is provided in such a way that if one of the controllers or several fails, or even the operation of the central server is disrupted, this will not affect the operation of the system as a whole.

A mini-computer Raspberry Pi in this system and is the central server... You need to install a Web server on it, with the help of which any user through his mobile device (smartphone, tablet or laptop) will be able, through a regular browser, to have data on all the processes that take place in the house and manage these processes. The user has access to the server by means of a username and password through the home local area network or through global networkif you enter it via a Wi-Fi device.

To the serial port of the UART device through a matching device through the RS485 interface, controllers are connected, which are equipped with a different set of pins or inputs. Also, you can connect a GPS model to the same interface and use it to access the system via a mobile or stationary telephone connectionif the user is in an area where there is no Internet access. Access is also allowed through a password, as in the previous case. Another device on the network is radio modulewith which you can bind to common system all radio sensors and remote controls.

So, the current version of a home automation system based on a Raspberry Pi computer consists of a central server and controllers with an RS485 interface, which are needed to communicate with the server. Their description looks like this:

Now let's find out how the Raspberry Pi was used by the inventors. to create innovative products... Let's consider some of them.

Constructor Kano

The Kano construction set for children is not just an ordinary construction set, it is a modular computer, even a child can assemble such a puzzle. The constructor kit includes the following:

Thus, even a child can assemble a computer himself, which is then connected to a monitor or TV. via HDMI port.

This construction set was originally created for children, but has become popular among adults as well. Funds for the development and implementation of this project were raised through a fundraising platform for creative inventions. Thanks to assembled computer can perform the following actions:

  • record music;
  • watch videos in HD format;
  • write programs;
  • create your own games.

Flying device SkyJack

Other inventors based on the Raspberry Pi computer created the SkyJack drone, which is controlled via a Wi-Fi connection. Such a device is capable of taking helicopter altitude, tracking the path of military helicopters and controlling them, it can also intercept radio signals and create interference with it. However, despite such possibilities, the device is allowed for mass use due to its small range.

Poppy: robot alien

Poppy robot was created using 3D printing by the French company INRIA Flowers... The robot is controlled by a Raspberry Pi mini-computer. The design of the robot repeats the biological structure of a person, it has joints, a spine and tendons, its gait is similar to that of a human, it walks, stepping from heel to nose and uniformly controlling the center of its gravity.

What is No More Woof?

No More Woof is a device that is still under development and is being built on the basis of the Raspberry Pi. With his help, the owner will understand what his dog wants. So, the device will be attached to the head of the animal and work on the principle of an electroencephalograph, that is read information from a dog's head and transfer it to the owner via the Raspberry Pi. When such a device will be ready and how it will be used exactly is still unknown, but such headsets, albeit not so perfect, have already been used by professional dog handlers.

Everyone can see that with the onset of the new millennium, the interest in computers among the new generation and not only is exclusively consumer. Children do not want to learn to program and create something new, but want to be exclusively "users". The Raspberry Pi developers are confident that their device will restore people's former interest in the study of computational sciences and force them to not only use new technologies, but also create them.

Five years after the release of the first Raspberry Pi devices, the project continues to gain more and more popularity and spread far beyond its original purpose. Project founder Eben Upton originally hoped to sell no more than 10,000 boards, but now more than 10,000,000 devices are in the hands of students, teachers, and other IT people.

Apart from the third generation Raspberry Pi, you can now find a lightweight model of the Raspberry Pi Zero as well as other components such as a video camera, touch screen and various sensors.

With so many possibilities, it can be difficult to know where to start a Raspberry Pi 3 application. This article will walk you through getting started with your Raspberry Pi. I assume that you already know how to connect a screen, mouse, keyboard, power, and install an operating system. Today we'll look at what to do next.

Many people have a Raspberry Pi, but they don't even know which version of the device they have. You can determine the version of the device by the amount of memory, this parameter is the most different. Or, for example, more recent boards have added additional GPIO slots. But there are some minor differences that you should be aware of when creating your project.

You can find out the board version with visual inspectionbut the best way to do this is using the terminal. To do this, turn on the device and run the command:

cat / proc / cpuinfo | grep "Revision"

The output will contain a line of four or six characters, which will tell you which device you are using:

If you see a very large number, which starts with 1000, then goes the revision number and again 1000, then this is a sign of overvoltage in the power supply.

Here are some comparative characteristics different versions devices:

If you want to know more information about your board from the command line, you can use the following commands:

Hardware:

cat / proc / cpuinfo

cat / proc / version

RAM:

cat / proc / memory

Raspberry Pi connection

You may be used to the fact that to turn on any electrical device, just plug it into an outlet, press a button and it works. The Raspberry Pi is not such a device. For this microcomputer, it is important to choose the right power supply device that will provide stable power to obtain maximum performance... There is no button to turn it on and off, but if you want you can do it.

If you think your device is running low on power, you can check the voltage with a multimeter. Older boards have holes on the top of the board labeled TP1 and TP2. On models B +, Pi2 and Pi3, they are located at the bottom of the board, on the side of the SD card, and are labeled PP3 and PP7.

Connect everything first peripheralswhich you are going to use. Set your multimeter to measure voltage up to 20 volts. Connect the red wire to TP1 or PP3 and the black wire to TP2 or PP7. The multimeter should read about 5 volts. a deviation of 0.25 volts is bad and the closer to five, the better. If you find a voltage drop, this could be due to two reasons:

  • Your USB cable. It may be suitable for charging your phone, but it is too slow. For a phone that's enough, but the Raspberry Pi lacks power.
  • Peripheral devices. For all USB devices you need power, to solve the problem you can use a USB hub.

All in all, connecting the Raspberry Pi doesn't cause a lot of problems.

Add a reset button

Now that you know the basics and have chosen a power source, you can add a power button to your device. Most electronics have a shutdown button, but there is none, and if you want to restart your Raspberry Pi you will have to unplug the power cord and plug it back in. But you can add a button to avoid it.

The board has two holes next to each other, one round and the other square. On Model B, these are labeled P6 and are next to the HDMI port. On later boards, they are placed closer to the GPIO ports and are labeled RUN.

You can purchase any button and solder its pins to these ports. All that is needed to reset the processor is to close these outputs.

Using GPIO and sensors

Apart from its low price, the Raspberry Pi is very attractive to users due to its GPIO capability.

GPIO or general purpose input / output are ports general purpose input and output. Almost all Raspberry Pi projects are built around these ports. Flexibility is their strength.

The first Raspberry Pi boards had 26 GPIO ports, the Raspberry Pi 2 and Pi 3 have 40. From a technical point of view, only 17 out of 26 and 28 out of 40, respectively. The rest are electrical contacts and grounds. All ports are numbered, but to use them correctly you need a printout with a description of the values. For example, for 40:

Or for 28:

It can be printed out and attached to the board so as not to get confused during operation:

Getting the GPIO to do what you need to do is a little bit of programming. Usually, everything can be done in Python. If you didn't know, then part of the name Pi comes from a Python programming learning tool. You can find a lot of instructions for using Python for Raspbery and GPIO on the internet.

Find a project

Your device is almost ready. All that is left is to decide on the project and start doing something. Even if you haven't written a single line of code or worked with a soldering iron yet, the Raspberry Pi can be the perfect tool for learning these things.

If you don't want to program anything but want to do something useful, you can install Kodi on your Raspberry and do home media Centre.

After that, you can go to search for other projects. What do you like best, games? Home Automation? The photo? Perhaps someone has already posted instructions on the Internet on how to do what you want. Use them or make your own. Here are some interesting projects you can implement:

  • Cupcade is the easiest way to create your own small game system... But here you need to buy the device as a kit to get all the necessary parts;
  • MagicMirror is one of the most popular projects on the Raspberry Pi, the point is to output text information on a mirror using a screen and this microcomputer;
  • Minecraft - you can create your own minecraft server based on Raspberry Pi;

These are not all interesting projects with which you can find the use of the Raspberry Pi 3. You can find a few more in the article.

conclusions

In this article, we covered getting started with the raspberry pi. This very interesting device can be quite useful when used correctly. Have you already bought a Raspberry Pi? Going to buy? Or have already collected their project and found raspberry application pi? Write in the comments!

To complete the video from 16 bit ago about the Raspberry Pi:

Many people probably know that powering the Arduino from the Raspberry Pi is not difficult, you just need a USB cable. The inverse problem looks more complicated, since most Arduino controllers do not have a USB output (Due is an exception). However, it is possible to do this using the GPIO pins, and I want to talk about specific example for Arduino Nano V3.0 and Raspberry Pi B rev.2. In addition to the power supply itself, I will also tell you how you can control this power using a button and a MOSFET transistor.

Theoretical possibility
Most Arduino compatible controllers use 5V pins. The only exception is the Arduino Due and the 3.3V output from the Arduino, but that's not the point now. It is also known that one of the ways to supply power to the Raspberry Pi is to use 5V and GND pins on 26 pin connector P1:

It would seem that the solution is obvious - you need to connect the Raspberry Pi to any of the Arduino pins, and everything will work. My attempt to do this resulted in the Raspberry Pi flashing the PWR LED, but the ACT LED never came on. The reason is the very small current from the Arduino pins (about 40-50 mA). But the Arduino has a separate 5V pin, which (according to the link) can supply around 400-500mA. Now you need to check if there is enough current to power the Raspberry.

For normal Raspberry Pi power supply with two connected USB devices need about 700 mA. Each USB device can draw up to 140mA (). Raspberries can draw even more current if they are overclocked (mine is not). Thus, if you use an overclocked RPi without USB devices, then the current from the Arduino 5V pin should be enough.

In order to control the power delivery, a few more ingredients are needed: a power button and something capable of handling high currents. I used a MOSFET transistor for these purposes. Let's go directly to the used parts.

Required hardware and software
I used the following "iron" parts:
  • Raspberry Pi B rev. 2;
  • Arduino Nano V3.0;
  • a button for power control (I used a latching button with a signal wire);
  • MOSFET transistor (I ended up with an IRF530N);
  • Breadboard and multiple wires.
For arduino firmware need an IDE, I used version 1.5.8 BETA, but stable 1.0.6 is fine too. I also need my little library for PowerButton (link at the end of the article in the section about utilities).
Schemes
The connection diagram looks like this:

The schematic diagram is as follows:

Explanations for the diagrams:

  1. D2 is connected to the SIG pin of the button.
  2. D4 is connected to the VCC pin of the button.
  3. D5 is connected to the MOSFET gate.

The connection to the D2 pin is not accidental: the library for the button uses interrupts, and on the Arduino Nano only D2 / D3 pins are intended for these purposes (you can check which pins on your Arduino support interrupts).

Source programs for Arduino
#include

#define POWER_PIN_SIG 2
#define POWER_PIN_VCC 4
#define POWER_FET_GATE 5
#define POWER_PIN_INT 0

PowerButtonSwitch pbs;

void onPowerOn () (
Serial.println ("Power On");
digitalWrite (POWER_FET_GATE, 1); // Open the gate (gate)
}

void onPowerOff () (
Serial.println ("Power Off");
// Close the gate (gate)
}

void setup () (
Serial.begin (9600);

// Output signal from Arduino to the MOSFET (gate)
pinMode (POWER_FET_GATE, OUTPUT);
digitalWrite (POWER_FET_GATE, 0);

// Initial setup power buttons
pbs.setupPowerButton (POWER_PIN_SIG, POWER_PIN_VCC, POWER_PIN_INT);

// Read the current value
// If there is a signal from the button,
// turn on the Raspberry Pi
int st \u003d pbs.getSwitchStatus ();
if (st \u003d\u003d POWER_ON) (
onPowerOn ();
}

// Add event handlers
pbs.onPowerOn (onPowerOn);
pbs.onPowerOff (onPowerOff);
}

void loop () (
// Empty loop
delay (1000);
Serial.println ("No actions");
}

Most of the work is done by the library, so the code is very simple.

Testing the solution
Short video with testing:

As you can see, everything works visually. But still, you need to check the voltage between pins TP1 / TP2 (methodology). I got a value of ~ 4.6V, the recommended value is more than 4.75V.
Conclusion
Despite the fact that everything works, there is still a suspicion that when connecting the periphery, the current from the 5V pin of the Arduino will not be enough. The MOSFET and the pushbutton work perfectly together, such a bundle may come in handy for future projects.

Utilities and libraries used for writing:

  • Fritzing: used for drawing diagrams, available.
  • the actual library for PowerButton: Available from GitHub.

Since this is my first post, feedback and comments will be very helpful.

Raspberry PI is a device with sufficient performance so that robots can be built on its basis that can recognize images, perform human work and other similar devices to automate and perform complex computational actions. Because clock frequency Raspberry PI processor 3 mb. 1.2 GHz and its bit width is 32 bits, then the Raspberry PI 3 is much higher than the usual Arduino, whose clock frequency is usually 16 MHz and the microcontroller bit is 8 bits, Arduino certainly takes its place in performing operations that do not require great performance, but when it is no longer enough Raspberry PI " comes to the rescue "and covers such a wide range possible applications that you can be absolutely sure of the advisability of purchasing this single-board computer Raspberry PI 3 (can be ordered via the link). Because Raspberry PI is a computer, in order to use it, you need to install an operating system on it (although there are workarounds, it is still better and easier to install an operating system (OS further)). There are many OSs that can be installed on a Raspberry Pi, but one of the most popular (for use with a Raspberry Pi), most suitable for beginners, is the Raspbian OS. In order to install an OS on a Raspberry Pi, you need a micro sd card with an expander so that it can be inserted into regular computer and write wasps on it. The sd card must have at least 4GB of memory when installing the full Raspbian version and at least 8GB for installing the minimum Raspbian versions. Minimum versions may not have (and most likely do not) graphical interface and a lot of everything else that can be considered superfluous and takes up space. To avoid problems with missing required files, you can put full version... You can use a class 10 SD card with 32GB of memory (tested to work (see video below)). After purchasing a memory card, you need to insert it into the computer into the appropriate slot, then look with which letter the disk appeared in the "my computer" section and remember, then you need to download the OS from the official website https://www.raspberrypi.org/downloads/raspbian / by clicking the "Download ZIP" button under "RASPBIAN JESSIE" to download the full version or under "RASPBIAN JESSIE LITE" to download the lightweight version, but for beginners it is better to choose "RASPBIAN JESSIE" ie full version. After downloading the "RASPBIAN JESSIE" archive you need to unzip it, then download the program (or from here https://yadi.sk/d/SGGe1lMNs69YQ), install it, open it, then you need to specify the drive letter (memorized earlier) in the upper right corner, find unzipped os image

And press the "write" button.

After that a warning window will appear and in this window you must click the "Yes" button,

After the recording is over and a window appears informing about a successful recording (Write Successful), you need to click the "Ok" button in this window.

Then close the program, pull out the SD card in a safe way and insert into Raspberry Pi.

Then you can connect to the Raspberry Pi usb keyboard (or ps2 via), usb mouse and monitor or TV via hdmi cable or you can connect an ethernet cable (but this is for advanced users, so we will consider the first option below). After that, you need to connect the power through micro usb for example from charger from a smartphone. After connecting the power, installation will begin operating system... As a rule, in the new (at the time of this writing) versions of the OS, the ability to communicate with the Raspberry Pi via SSH is already configured, and therefore in order to configure communication with the Raspberry Pi 3 via wifi, it is enough to configure only wifi.To do this, in the upper right corner of the screen there is an icon on which you need to click and select wifi,

Then enter the password from this wifi into the text box that appears,

After these action wifi it will be configured on the Raspberry Pi 3 and then it will be possible to program the Raspberry Pi 3 remotely via wifi without using wires. After setting up the Raspberry Pi 3, you can turn off by typing in command line (in the LXTerminal program, which can be opened by double-clicking on the program icon) the sudo halt command or by pressing the corresponding shutdown buttons in graphical mode, after the final shutdown, you can turn off the power and turn on with wifi the next time the Raspberry Pi 3 is powered up. Now, to program the Raspberry Pi 3 via wifi, you need to find out what its ip address is. In order to do this, you need to supply power to the Raspberry Pi 3, wait until the OS is loaded, go to the router's web interface (by entering 192.168.1.1 in the browser line or what you need to enter the web interface, enter your login and password), find the DHCP tab Leases or something similar, find there a line with raspberry and ip address of Raspberry Pi 3.

Next, you need to open the PuTTY program (if it is not there, then download (or) and install) put port 22, connect via SSH, enter the ip address of the Raspberry Pi 3 in the "Host Name (or IP Address)" field,

Then press the "Open" button at the bottom of the window, then it will appear black window with a proposal to enter a login. The default login is "pi" - you must enter it and press enter. Next, you need to enter a password, by default "raspberry". When you enter a password, it is not displayed - this is normal. After the password is entered in invisible letters, you need to press enter and if everything was done correctly, then we will get access to the Raspberry Pi 3, if not, then you need to repeat the steps. After gaining access to the Raspberry Pi 3, you can program it, first you need to enter the "pi" folder for this you need to enter the command

And press enter (after cd, a space is required).
Now you can open text editor nano. Nano is a special text editor found on most Linux-like OSes in which you can write programs for the Raspberry Pi. To open this editor and at the same time create a file with the name "first" and the extension "py", you need to enter the command

And press enter. The nano editor will open and you can notice that its interface is slightly different, but basically it is the same black field in which you need to enter commands. Because we want to control the general input / output ports (GPIO), then before starting the program to control these ports, you need to connect some device to them so that you can see that the control has worked. It should also be noted that the pins configured as outputs on the Raspberry Pi can produce a very small current (I assume that up to 25mA) and given that the Raspberry Pi is still not the cheapest device, it is strongly recommended to take care that the load on the pins is not too large. Low-power indicator LEDs can generally be used with the Raspberry Pi. a small current is enough for them to glow. For the first time, you can make a device with a connector, two counter-parallel-connected LEDs and a resistor with a resistance of 220 Ohm connected in series with the LEDs. Because the resistance of the resistor is 220 Ohm, the current must pass through this resistor and there are no parallel paths of its passage, the voltage at the terminals is 3.3V, then the current will not be more than 3.3 / 220 \u003d 0.015A \u003d 15mA. You can connect this to free GPIOs, for example, to 5 and 13 as in the diagram

(pinout taken from https://en.wikipedia.org/wiki/Raspberry_Pi), it might look something like this:

After everything is neatly and correctly connected and you are sure that nothing will burn, you can copy the first simple program in Python into the NANO editor

Import RPi.GPIO as GPIO
import time
GPIO.setmode (GPIO.BCM)
GPIO.setup (13, GPIO.OUT)
GPIO.setup (5, GPIO.OUT)
GPIO.output (13, True)
GPIO.output (5, False)
time.sleep (1)
GPIO.output (13, False)
GPIO.output (5, True)
time.sleep (1)
GPIO.output (13, True)
GPIO.output (5, False)
time.sleep (1)
GPIO.output (13, False)
GPIO.output (5, True)
time.sleep (1)
GPIO.output (13, True)
GPIO.output (5, False)
time.sleep (1)
GPIO.output (13, False)
GPIO.output (5, True)
time.sleep (1)
GPIO.cleanup ()

Then press

After exiting the NANO editor, you can enter the command

Sudo python first.py

Then the LEDs will blink a number of times. Those. managed to control general purpose input / output ports via wifi! Now let's take a look at the program and find out how it happened.
Line:

Import RPi.GPIO as GPIO

This is a "GPIO" library connection for controlling pins.
Line:

This is the connection of the "time" library for delays.
Next comes the setting of the GPIO mode:

GPIO.setmode (GPIO.BCM)

Configuration of pins 5 and 13 as outputs:

GPIO.setup (13, GPIO.OUT)
GPIO.setup (5, GPIO.OUT)

Setting a logical one at pin 13, setting a logical zero at pin 5:

GPIO.output (13, True)
GPIO.output (5, False)

Delay

Setting a logical zero at pin 13, setting a logical one at pin 5:

GPIO.output (13, False)
GPIO.output (5, True)

Translates all conclusions into the initial state and the program ends. So you can control any free pins via wifi and if you make a 5V power supply from a battery, you can already do some autonomous robot or a device not tied by wires to anything stationary. Language python programming (python) differs from C-like languages, for example, instead of a semicolon, to complete a command, python uses a line feed, instead of curly braces, it uses the indent from the left margin, which is done with the Tab key. In general, Python is a very interesting language that produces easy-to-read simple code. After work (or play) with Raspberry PI 3 is finished, you can turn it off with the command

And after a complete shutdown, remove the power. When power is applied, the Raspberry PI 3 turns on and you can work (or play) with it again. You can order Raspberry pi 3 at http://ali.pub/91xb2. How it is done raspberry setup PI 3 and managing its pins can be seen in the video:

After successful flashing of the LEDs, you can start a full-scale study this computer and creating projects using the capabilities of Raspberry PI 3 that are limited only by your imagination!

Hello! Today I will tell you how I managed to save ports on my Raspberry Pi. I have long wanted to connect a line display to this single-board computer, and even tried to do it using the wiringpi library, but such a connection takes a lot of pins. The first thing that came to mind was the use of shift registers, but still I decided to look towards the I2C or SPI bus. After reading the topics on the Internet, I found a cool solution - RGB LCD SHIELD KIT W / 16X2 CHARACTER DISPLAY - ONLY 2 PINS USED! ... The board uses only two pins to control SDL and SCK via the I2C bus, plus there is still enough space for five clock buttons. AT this device speed is not that important, so the I2C bus was fine for me. The "heart" of the board is a Microchip chip, the port expander MCP23017.

Hello!

From time to time in practice, situations arose when I dreamily thought that it would be nice to write a web server as a backend for some of my simple projects. Well, so that there is a hostname, as it should be, and so that from the outside you can give it some data and get some data, maybe you can screw on an API-shech, or maybe even host your own cozy blog there.

In my imagination, I immediately loomed some racks with blades, renting a virtual machine on Digital Ocean, or, at worst, a computer humming around the clock under the table.

But you want something quiet, elegant, silent, and preferably free ...

Stop! But everything has already been invented before us!

Today I want to talk about how you can, for a penny, with a minimum amount of knowledge, burn down a machine that will provide 90% of your (well, mine, for sure) needs in the backend.
The story will carry the character of notes for itself - so as not to forget what to do, repeating it next time, for example)

Who cares - go under the cut (by the way, note how the chips on the board are soldered with a sandwich).

Did you like the article? To share with friends: