WEBVTT

00:00.050 --> 00:01.070
Congratulations.

00:01.070 --> 00:04.760
You have finished the final project of this course.

00:04.790 --> 00:10.160
This is yet another great achievement on your journey with Raspberry Pi and Arduino.

00:10.160 --> 00:15.980
And now, well, even if this project is finished and correctly working, there are many things you

00:15.980 --> 00:20.210
could work on to improve it or add new functionalities.

00:20.240 --> 00:26.230
The most interesting thing you could do is to adapt the project for your own needs.

00:26.240 --> 00:33.230
For example, if you want to implement an intercom system where you live and then if you are still craving

00:33.230 --> 00:38.620
some more practice, here are a few suggestions of things you could work on.

00:38.630 --> 00:42.650
So for the LCD screen you could make the text move.

00:42.680 --> 00:49.790
If you have more than 32 characters, okay, so you can display everything even a longer text.

00:49.820 --> 00:57.020
You could also add a telegram callback so you can send custom text from telegram to the LCD.

00:57.020 --> 00:59.420
So we've already done that actually before.

00:59.450 --> 01:03.000
In a previous activity, but you could add that to the project.

01:03.000 --> 01:08.970
So for example, if you recognize someone on the photo, you can say, for example, Hello John, how

01:08.970 --> 01:09.540
are you?

01:09.870 --> 01:17.040
Or just send a message like after the door, just go right and third door on the left then about the

01:17.040 --> 01:17.630
servo.

01:17.640 --> 01:24.900
So I've told it before, but you can attach it to a real door mechanism and define the opening and closing

01:24.900 --> 01:25.560
speed.

01:25.560 --> 01:28.920
So this would be the more mechanical part to the project.

01:28.950 --> 01:29.220
Okay.

01:29.220 --> 01:36.090
Where you will have to basically experiment, find out how you can attach to a door mechanism or just

01:36.090 --> 01:41.400
any mechanism that's going to allow a door to be opened and then, well, maybe define an opening and

01:41.400 --> 01:46.380
closing speed, because for some mechanism, if you try to go too fast, that's going to apply too much

01:46.380 --> 01:49.140
torque on the servo and it's not going to like it.

01:49.140 --> 01:50.790
So maybe you need to go slower.

01:50.790 --> 01:54.360
But this of course, there are millions possibilities.

01:54.360 --> 02:00.450
It really depends on the physical configuration you have for your door or the mechanism for the camera.

02:00.480 --> 02:02.730
You could take a video instead of a photo.

02:02.760 --> 02:06.180
Okay, so you send a few seconds video to Telegram.

02:06.570 --> 02:08.970
You could also and that's something different.

02:08.970 --> 02:15.600
You can also diffuse a video string with the Mjpeg streamer, so that's something you can check on the

02:15.600 --> 02:20.100
Internet and that's also something you could use for a surveillance system.

02:20.100 --> 02:26.490
So basically with this streamer, you can have an URL, you're going to check, and in this URL you're

02:26.490 --> 02:32.790
going to have a constant stream of video, which is maybe better than just one photo, but it's also

02:32.790 --> 02:35.310
more complex and I will leave you to it.

02:35.340 --> 02:37.650
You can decide to do this if you want to.

02:37.680 --> 02:42.750
You can also enable or disable the message sending from Telegram.

02:42.900 --> 02:49.410
So basically what I mean by that is that from Telegram you have the option, the deny and the start

02:49.410 --> 02:49.920
comments.

02:49.920 --> 02:55.320
You could also add, enable or disable so that basically you don't receive any notification from the

02:55.320 --> 02:56.130
Raspberry Pi.

02:56.130 --> 03:01.830
So when you send disable in the Raspberry Pi, whenever someone presses on the push button, well you're

03:01.830 --> 03:06.120
not going to do anything because you don't want to receive messages on telegram.

03:06.120 --> 03:13.920
And when you send enable, well you allow the application to send you some messages and some photos.

03:14.010 --> 03:18.510
Another improvement here could be that if you don't have any response after you press the button, for

03:18.510 --> 03:25.140
example, after 30s, you could come back to the default state because what's happening here is that

03:25.140 --> 03:30.240
once you have pressed on the push button, you're only going to come back to the default state after

03:30.240 --> 03:31.670
you have received a response.

03:31.670 --> 03:35.220
So open door or a denied access response.

03:35.220 --> 03:40.200
And so if no one is answering, well, the state is just going to be stuck in the.

03:40.200 --> 03:41.250
Please wait.

03:41.280 --> 03:41.520
Okay.

03:41.520 --> 03:46.740
So maybe you want to come back to the initial state with another message, for example, that no one

03:46.740 --> 03:53.790
could answer your request and then come back to the initial state after 30s one minute as you want.

03:53.790 --> 03:58.560
And one thing you could also do, and this has nothing to do with the functionalities, but more with

03:58.560 --> 04:02.100
the code is to optimize the code with multiple files.

04:02.100 --> 04:07.110
So we have just used one file for Arduino and one file for the Python program.

04:07.110 --> 04:07.350
Okay.

04:07.350 --> 04:13.620
What you could do is to separate the different functionalities and implement them on different files

04:13.620 --> 04:17.040
that you're going to call from your main file and use them here.

04:17.040 --> 04:22.590
And so you're going to have a better code organization and your code is also going to be more scalable

04:22.590 --> 04:23.550
in the future.

04:23.550 --> 04:25.950
And well, this list is not exhaustive.

04:25.980 --> 04:29.280
Those were just a few ideas and suggestions.

04:29.340 --> 04:36.210
I encourage you to come up with your own ideas and implement them so you can practice more and improve

04:36.210 --> 04:38.340
the project for your own needs.

04:38.340 --> 04:42.560
And well, once again, congratulations for finishing this project.

04:42.570 --> 04:44.130
This is the end of the project.

04:44.160 --> 04:47.160
Let's go to the conclusion section of the course.
