ALPR integration using C#


#1

Hi,
We have installed the OpenAlpr software on our machine and detect number plate successfully.

Now we want to fetch that data from local queue once the software scanned the number plate.
We are stuck here, as how we can feth the plate data from local queue using c#, though sample code is available in python, we want it in c#. So we want the data from local Beanstalkd queue in json format using c#.
Please help!


#2

Here is some relevant code that you may find helpful. This code pulls plates from the beanstalkd tube and is used in our Milestone plug-in:

It uses the Turbocharged.Beanstalk library

-Matt


#3

Hi Matt,
Thanks for providing code, there are few points for which needs clarification:

  • beanstalkAddress(What is the need of this, and which address we need to specify(in sample provided it is used as localhost:1100)

  • Currently it is displaying data type as ‘heartbeat’ and not proper json data with plate details. code snippet is below:
    var beanstalkAddress = “localhost:11300”;
    //Logger.Log.Info($“Beanstalk address used: {beanstalkAddress}”);
    IConsumer consumer = await BeanstalkConnection.ConnectConsumerAsync(“localhost:11300”);
    await consumer.WatchAsync(“alprd”);

         var test= await consumer.WatchAsync("alprd");
    
         Job<OpenALPRData> job1 = await consumer.ReserveAsync<OpenALPRData>();
         var json1 = Encoding.UTF8.GetString(job1.Data, 0, job1.Data.Length);
         var chk = ProcessJob(json1);
    
         worker =await BeanstalkConnection.ConnectWorkerAsync(beanstalkAddress, options, async (iworker, job) =>
         {
    
  • can we used this worker file as independent class in windows application, as we only needs this code and no plugin)