Updated 2021.08.20
Both Downloader and Viewer have been updated.
Most changes relate to being able to pull from the local web-server as well as the cloud CSV to allow much faster imports and thus alerts.
Tied into this improvements made to alerting, searching, backups, etc.
Please see This Link for more detail.
Updated 2020.11.14
Search functionality expanded.
Directional arrows displayed.
Please see This link for additional details.
Updated 2020.10.18
Few minor updates.
Please see This Link for some of the new features.
Shout Out to @tech101 - please see his PDF walkthrough on how to do the install. He's also helped come up with some of the ideas in the newest updates.
Updated 2020.10.16
Both the Downloader and Viewer have been updated.
The downloader functionality is fairly minor (some settings better saved, auto-login fixed for new page, ability to kick off the download when app starts).
The viewer has some more significant updates, including much speedier queries, additional filters, ability to email some reports (single plate history, all plates for a day history), and more. This update will require running two SQL queries (included) to update two of the stored procedures. The queries should be ran first, they are backwards compatible, then use the new programs.
I'd suggest making a copy of your .config file so you can easily migrate any lost settings into the new config file (new config options are in both programs).
Thanks @tech101 for the ideas and testing this.
@DLONG2 and I have worked separately, and together, to bring what we created for our own use to everyone here. The goal of this project was to create an automated method to capture the CSV Exports from OpenALPR and save them to a local database that could then be queried.
Please keep in mind that this was done as a hobby. There may be some bugs, and the setup isn't for the faint of heart.
Suggested setup includes the following, all on a single Windows machine will make this easiest.
The following code should be retrieved next. It is the program that performs the routine tasks.
Gymratz/LPR_Downloader
Within this code is a folder that contains all of the SQL Queries that need to be ran in order to set up the database. Run them each in order to set up the tables, and Stored Procedures that are needed both for this and the Viewing application.
You should be able to compile the program (or run in debug mode from Visual Studio). When you first run it there is a tab that requires settings to be input. The settings are all stored in the app.config file.
This applications does a few things:
Only after you get this running, you'll want to retrieve the viewer application.
Gymratz/LPR_Viewer
All of the SQL Setup was done in LPR_Downloader setup, so this one will have minimal setup. Before you Compile/Run the program please review the app.config and set the SQL Connection String the same as you used in LPR_Downloader. The program will error on start without it (I'll work on fixing this in a future release).
With this application you'll be able to review plates going back since you started collection, and associated images based on the retention size you set within the OpenALPR Agent.
You can use the "Add / Update Known Plate" to set details about specific plates -- including an e-mail address which would trigger the alerts to that address. You can use "Fix Entry" if the plate read is wrong and correct it to the right one. When doing so, you can also choose to make this an auto-fix (all current and future plates that have the exact wrong reading will be changed to the correct one). You can also opt to "Hide All" if it is a common read of a non-plate that you want to hide from view.
There's also a stand-alone button "Duplicate" that can be used to manually hide a plate, whether because it is a true duplicate that was read multiple times before the car left camera view, or just a wrong read that needs to go away.
If you're able to get through the process of setting everything up, the settings/views should make sense to you. Definitely open to suggestions and helping people through this as needed - but please keep in mind this was just a hobby and not intended to be a complete/polished program. More time went into making it portable than went into the initial creation for our own use.
Both Downloader and Viewer have been updated.
Most changes relate to being able to pull from the local web-server as well as the cloud CSV to allow much faster imports and thus alerts.
Tied into this improvements made to alerting, searching, backups, etc.
Please see This Link for more detail.
Updated 2020.11.14
Search functionality expanded.
Directional arrows displayed.
Please see This link for additional details.
Updated 2020.10.18
Few minor updates.
Please see This Link for some of the new features.
Shout Out to @tech101 - please see his PDF walkthrough on how to do the install. He's also helped come up with some of the ideas in the newest updates.
Updated 2020.10.16
Both the Downloader and Viewer have been updated.
The downloader functionality is fairly minor (some settings better saved, auto-login fixed for new page, ability to kick off the download when app starts).
The viewer has some more significant updates, including much speedier queries, additional filters, ability to email some reports (single plate history, all plates for a day history), and more. This update will require running two SQL queries (included) to update two of the stored procedures. The queries should be ran first, they are backwards compatible, then use the new programs.
I'd suggest making a copy of your .config file so you can easily migrate any lost settings into the new config file (new config options are in both programs).
Thanks @tech101 for the ideas and testing this.
@DLONG2 and I have worked separately, and together, to bring what we created for our own use to everyone here. The goal of this project was to create an automated method to capture the CSV Exports from OpenALPR and save them to a local database that could then be queried.
Please keep in mind that this was done as a hobby. There may be some bugs, and the setup isn't for the faint of heart.
Suggested setup includes the following, all on a single Windows machine will make this easiest.
- OpenALPR agent installed with the local webserver enabled and retention of local images set as high as reasonable for your system.
- Visual Studio Community Edition - This is free, you'll just need some basic knowledge of C# or the ability to learn it quickly. Every attempt was made to extract the settings into a settings file so minimal editing should be required.
- SQL Server Express - This is free, and is the engine that will store the data.
- SQL Server Management Studio - This is free, a separate install from SQL Server Express. This will be used to manage the SQL Server instance to create the initial tables and stored procedures.
The following code should be retrieved next. It is the program that performs the routine tasks.
Gymratz/LPR_Downloader
Within this code is a folder that contains all of the SQL Queries that need to be ran in order to set up the database. Run them each in order to set up the tables, and Stored Procedures that are needed both for this and the Viewing application.
You should be able to compile the program (or run in debug mode from Visual Studio). When you first run it there is a tab that requires settings to be input. The settings are all stored in the app.config file.
This applications does a few things:
- It keeps you signed into the OpenALPR Web Page.
- It downloads the CSV based on a timer you specify.
- It sends an e-mail / push alert (if you set up this service) to you when plates you tag are seen.
Only after you get this running, you'll want to retrieve the viewer application.
Gymratz/LPR_Viewer
All of the SQL Setup was done in LPR_Downloader setup, so this one will have minimal setup. Before you Compile/Run the program please review the app.config and set the SQL Connection String the same as you used in LPR_Downloader. The program will error on start without it (I'll work on fixing this in a future release).
With this application you'll be able to review plates going back since you started collection, and associated images based on the retention size you set within the OpenALPR Agent.
You can use the "Add / Update Known Plate" to set details about specific plates -- including an e-mail address which would trigger the alerts to that address. You can use "Fix Entry" if the plate read is wrong and correct it to the right one. When doing so, you can also choose to make this an auto-fix (all current and future plates that have the exact wrong reading will be changed to the correct one). You can also opt to "Hide All" if it is a common read of a non-plate that you want to hide from view.
There's also a stand-alone button "Duplicate" that can be used to manually hide a plate, whether because it is a true duplicate that was read multiple times before the car left camera view, or just a wrong read that needs to go away.
If you're able to get through the process of setting everything up, the settings/views should make sense to you. Definitely open to suggestions and helping people through this as needed - but please keep in mind this was just a hobby and not intended to be a complete/polished program. More time went into making it portable than went into the initial creation for our own use.
Last edited: