OpenALPR Tool - Save and Query CSV Exports

And I realized that wildcard is % not *

Yes, I am hoping that with some trial and error (especially with the bit that I went through) others will be able to get on board faster too....

I can already think of amazing features to add (HAHAHAH I JEST, but really yes) to this, as well as minorly tweaking the UI a bit here and there, but for what it is, unlimited database, with being able to tag neighbors, and filtering out who has come by once or twice, and searching the database for plates, filtering by time/date, makes this an AMAZING piece of software
 
An FYI, this app is used in conjunction with the OpenALPR's 'Cloud Stream' service. They offer a free tier service of 2 days of storage in the cloud. The idea is to get the data into a local database before the two days go by. Gym's app will download data by the minute. My own preferred settings have downloads occurring every 5 minutes, and even once a day is enough just for collecting and storing the data for a 'just in case something happens' scenario.

Once the data resides in the local database then there's a lot that can happen with searches, tagging of plates, etc.

I have a category named 'Suspicious' for vehicles which do odd thing, such as stopping and going too much on the block, driving too slowly, etc. Then I have the downloader app mark the presence of any vehicles previously tagged as suspicious, and I can search for any such records, too.
 
Last edited:
I just want to thank you for releasing this. I have a couple of small-time programs (so no formal code review, co-developers, change control, etc) at work that I share internally, so I know what's it is like to go from "it works for me" to "throw it over the wall and see what happens".

Remote debugging is no fun. Kudos to nyghthawk for working through the issues.

It'll be a few months before I get to try this.
 
... so I know what's it is like to go from "it works for me" to "throw it over the wall and see what happens".
Taking everything from being hard-coded into the program to creating setting files, extracting out those areas, figuring out git, etc. I'm not kidding at all, it took me less time to create the original working program!

Glad you got through everything Nyghthawk! Definitely open to suggestions you have to improve this. I've got a few small want-to-do items, I just need to make the time to do them...
 
Quick question, you have to be running IIS? There was mention about enabling the webserver in the settings which I am confused on where that is.
 
Quick question, you have to be running IIS? There was mention about enabling the webserver in the settings which I am confused on where that is.
This is a setting within the OpenALPR Agent that you have running. It has to be enabled as well as the listening IP and Port. While there I would suggest upping the local image database retention size. I think the default is only 50mb.
 
So suggestions (these are all minor and just me randomly talking)

LPR Viewer (In no particular order)
* Link to the Video File, or ability to play the video if enabled, just like the web version. (I think i MIGHT be able to add this with my minimal coding skills as you already have the link to the JPG, I think I can manage to find the video)
* Ability to edit not just the License Plate for incorrect/fix plate data, but also other fields
* Clicking "search plate" while blank, is the only way to "update" the data, so maybe just a "refresh/reload" button. (Summary tab does not seem to update?)
* Alerts are setup in Viewer, but Downloader SENDS the email...a bit confusing, but it works.

Email Sent with Plate Image, attaches image as "noname" with no extension. While this works in web-browsers, does NOT work in IOS as it does not identify or download what the "noname" image is.

I will try and list more as I go.....

Again, this thing is AWESOME and does more than what I wanted, thank you!
 
  • Like
Reactions: nhs128
Apologies for any errors in this message. On mobile!

I was never able to get video to save or work. Figured it was a fluff feature not implemented. Now I wonder if I was doing something wrong or if you have a paid version that has this and free version doesn't?

What other fields would you want to edit other than the plate? I had thought of this. But given a single plate can be read as 25 different models or colors depending on the phase of the moon, my take on it was that trying to correct this would be a full time job. This is also why when you select an entry you see the full history for that plate so you can see the trends of those identifications.

Renaming button to say refresh can be easy! It should do the summary tab as well but not at the same time. Code was set so that only the page you are on refreshes when you use the button. Saves a ton of time not having to recreate graphs in the background.

Alerts in downloader made sense to me. That is the program always open and on a 1 minute timer. The setup in the viewer made sense otherwise it would just be one program. Kind of need history, pictures, etc., to determine if an alert is needed (in my mind).

Very odd about plate image in email. Bet it is an easy fix. Will look at it.
 
Apologies for any errors in this message. On mobile!

I was never able to get video to save or work. Figured it was a fluff feature not implemented. Now I wonder if I was doing something wrong or if you have a paid version that has this and free version doesn't?

What other fields would you want to edit other than the plate? I had thought of this. But given a single plate can be read as 25 different models or colors depending on the phase of the moon, my take on it was that trying to correct this would be a full time job. This is also why when you select an entry you see the full history for that plate so you can see the trends of those identifications.

Renaming button to say refresh can be easy! It should do the summary tab as well but not at the same time. Code was set so that only the page you are on refreshes when you use the button. Saves a ton of time not having to recreate graphs in the background.

Alerts in downloader made sense to me. That is the program always open and on a 1 minute timer. The setup in the viewer made sense otherwise it would just be one program. Kind of need history, pictures, etc., to determine if an alert is needed (in my mind).

Very odd about plate image in email. Bet it is an easy fix. Will look at it.


Youre right, video works for me about 80% of the time, then it stops for no reason. Restart the openalpr. and it works for a few days....no biggie.....

I have sent countless logs to them and get no responses, just 'it should work'.

no that makes sense plate only works fine...

the alerts from the downloader does make sense, just weird that i have to edit, add it in viewer, but works from downloader that was all....
 
I don't get video at all, I assumed I either had something setup wrong or it wasn't included in the free service. If you can point me to getting the information from the local DB then maybe adding it into this app won't be a big deal.
 
I don't get video at all, I assumed I either had something setup wrong or it wasn't included in the free service. If you can point me to getting the information from the local DB then maybe adding it into this app won't be a big deal.

https://cloud.openalpr.com/video/ge...G4QPEE5JWIMD2FNMEFWD0-193462483-1565757040086

is the link, it resolves to Home-6FBY786-1565757032-0_.mp4

Which looks like SiteName-LincensePlate-UNSURE.mp4

The image for said capture is

https://cloud.openalpr.com/img/367298343?download=Home-6FBY786-1565757032-0.jpg
 
Thank you so very much for all this hard work. I got everything to work. I think... Until it's time to view plates. I get no images or list. I can see that there are records in the Total Records line, but when it comes to show any details. Nothing. Any pointers on what i should double check? Thanks!
 
Oliver, did you enter the IP address and port number of the OpenALPR agent from your cloud service running on your PC? The setting is labeled as "Local LPR Web Server".

Adding records come from the ability of the application to download the records from the cloud. The images themselves are stored on the local webserver of the ALPR client on the PC, and the application just meshes together the local server IP address with the individual record from the database, and then presents the image within the application.

Another requirement for viewing the images is to assure that the local agent client's settings include 'Max Image Storage" of greater than 0. On my client I set the value to 18 GBs.

Update: Sorry, did you say the viewer shows no listings at all?
 
Last edited:
Also, I get this error when starting the Neighborhood LPR:

System.ArgumentOutOfRangeException: Value of '7/24/2019 9:05:18 AM' is not valid for 'Value'. 'Value' should be between 'MinDate' and 'MaxDate'.
Parameter name: Value


I commented the data values in debug and then I get another error message on line 72:

System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index'


But now, when running the app.exe, I get the error above (about Index out of range), click continue and can see data now. :-)

So it works about 99%. Just have to deal with the errors, which is not a big deal knowing the efforts you guys put into this!
 
Last edited:
You can edit the code to change the date so you don’t get this. All it is is the date range is “wrong” so you click ok and just fix your date range and it’ll work.

If you don’t like clicking ok you have to edit the code.
Also, I get this error when starting the Neighborhood LPR:

System.ArgumentOutOfRangeException: Value of '7/24/2019 9:05:18 AM' is not valid for 'Value'. 'Value' should be between 'MinDate' and 'MaxDate'.
Parameter name: Value


I commented the data values in debug and then I get another error message on line 72:

System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index'


But now, when running the app.exe, I get the error above (about Index out of range), click continue and can see data now. :)

So it works about 99%. Just have to deal with the errors, which is not a big deal knowing the efforts you guys put into this!
 
Just wanted to say Thank You for creating this. I've been wanting to do this for a long time. I did manage to get it all working. But I did run into a lot of the same issues discussed in this thread. I'm looking forward to seeing how this works over time.
 
Hate to be the bearer of bad news @DLONG2 and @Gymratz

Somehow, wasn't running either program for a bit. Started them both back up.

LPR Downloader connected to database fine, imported like a few thousand plates (since it missed quite a few days). So that is working.
Had a suspicious vehicle come around, so I went to the LPR Viewer to scan the Database on how many times the plate came by, and encountered a BIT of a problem here, hoping you can help work me through it.

The LPR Viewer opens. it reads the database (I think) as it updates how many plates it sees, etc. I still get an error with the min/max dates, but I just hit continue and update the date myself. (maybe that is the problem who knows, yet).

I click "all" for the dates, and it updates my database #s. The problem are the BOXES. They remain "empty". Even when I do LP searches. It used to display the database columns/tables about date/time etc.

So for example, I did a search for a plate, it shows how many times it sees it in my database. 78/16k , but I do not see the dates, etc, times, etc like i did from this post OpenALPR Tool - Save and Query CSV Exports

UOCH1pP.png


I verified the database is correct, I verified, the webserver was turned on (as that was my issue before). I restarted both the LPR Download and the LPR viewer. I tried to run both as administrator and both as not, and one as and one as not, then the other.

My only assumption is the "date error" when I hit continue, but from what I can remember, it worked prior, even with the data error on startup. I don't remember that far.

It seems like it is PARTIALLY connecting to the database, but not pulling the webserver stuff for the images, and not pulling the database into its proper columns.

I let it "run" overnight, thinking that it just had thousands of new instances to go through, but its morning now, and still nothing.

Any suggestions?

this is the "error" which I think is irrelevant.

OlqH0hp.png



Edit: Yes, it is due to that Date Error, Fixed the date error with a haphazard fix. (did -90 days) as I think it needs to be a date BEFORE 7/17/2019 or something like that, will take a peak in a moment.

npus89c.png


Start Value for whatever reason is showing up as this date. Will see if I can change/adjust that.

Just removed the
dtp_Start.Value = DateTime.Now.AddDays(-1);

Line, Starts up with the "7/17/2019" date, click "all" and everything works fine.

sorry for the scare.
 
Last edited:
  • Like
Reactions: tech101
@Nyghthawk re: Timeout connecting (post 39) - I believe this is happening because I spin some of that off in another thread, if it was still importing in that thread when you tried to do a second one it would cause an error. Obviously not perfect programming, just not something for me to fix right now :).

I'm not sure what's going on with the out-of-bound dates that you've noticed. I do have min and max dates set for the controls, and if you're modifying the load value (defaulting to show just one day back) to go before the min-date, maybe that's causing it? Probably something for each person to play with manually. My opinion, always load the minimum needed to start with to be efficient and if you really need to go back a month - then set the start/end dates appropriately for the period you're looking for. The only time I'd want to see 90 days at once is on the graphing page. However, if your workflow is such that you want to see 90 days that's a good part about you knowing how to update the code and make it do that! Maybe this (start/end date sets) would be a good place for anyone installing this to review and code as fits their workflow.

I've got it set to alert me for my own vehicle, very easy to spot a missed alert and know something isn't running. That being said, I just went to do System Updates and realized it had been running the past month with no issues!

Anyway, you all have had some good comments/pointers/suggestions. There is some obvious cleanup work I have to do here! Just haven't had the time as of late to sit down and go through it.