Package: python-anopi
python-anopiGeneralRaspberry Pi 4-20mA, 0-10V analog inputExperience the versatility and efficiency of industrial sensor connectivity with our Raspberry Pi Shield. With the ability to read both 4-20mA and 0-10V analog inputs through a single interface, monitoring and control have never been simpler. Plus, our included open-source Python library gives you the power to customize and automate your sensor interactions to fit your specific needs. Upgrade your IoT setup today with the ultimate Raspberry Pi Shield for industrial sensor interfacinghttps://shop.frappgmbh.de/AnoPi-Raspberry-HeaderInstallationpip install python-anopiGet startedThe most important thing is, that you need to activate I2C on Raspberry PiFor further Information have a look at that linkhttps://www.raspberrypi-spy.co.uk/2014/11/enabling-the-i2c-interface-on-the-raspberry-pi/UsageRead analog input current loop e.g. (4 - 20mA)This code example is for the usage of a current loop sensor. The sensor offset can range from 0-3.from python_anopi import AnoPi

a = AnoPi()

value, err = a.ai_mA(0) # For Analog Input 0
print('AI 0: {value}mA'.format(value=value))Read analog input voltage e.g. (0 - 10V)from python_anopi import AnoPi

a = AnoPi()

value, err = a.ai_V(0) # For Analog Input 0
print('AI 0: {value}V'.format(value=value))Analog input scalingIn most applications current loop representing a scale from a sensor e.g., a level meter for a tank.
For this application we provided a simple function which lets you scale your measurementsfrom python_anopi import AnoPi
from python_anopi import AnalogInputType 

a = AnoPi()

value, err = a.ai_V(0) # For Analog Input 0

value, err = a.scale_value(AnalogInputType.mA_4_20, value, min=0, max=100)

print('level: {value}% '.format(value=value))Function: scale_valueDescriptionThescale_valuefunction is designed to scale raw analog input values based on the specified input type. This is useful when working with different types of analog sensors that provide input signals within specific ranges. The function utilizes an enum calledAnalogInputTypeto define the input types. The scaling is performed linearly between a minimum and maximum scaled value.Parametersinput_type(AnalogInputType): The type of analog input signal, such asAnalogInputType.mA_4_20.raw_value(float): The raw analog input value to be scaled.min(float): The minimum scaled value. Defaults to 0.max(float): The maximum scaled value. Defaults to 100.cutoff(boolean, default=True): If set to True, the scaled value is constrained to be within the specified range (min to max).ReturnsA tuple containing the scaled value and an error message:Scaled Value (float): The scaled output value betweenminandmax.Error Message (str): An empty string if successful, or an error message if any issues occur during scaling.Examplefrompython_anopiimportAnoPi,AnalogInputTypea=AnoPi()# Example 1: Scaling a 4-20mA analog inputraw_value,err=a.ai_mA(0)# read analog input channel 0: 15mAvalue,err=a.scale_value(AnalogInputType.mA_4_20,raw_value,min=10,max=90)print(value)# Output: 50.0print(err)# Output: None# Example 2: Scaling a 0-20mA analog input with cutoff disabledraw_value,err=a.ai_mA(1)# read analog input channel 1: 18mAvalue,err=a.scale_value(AnalogInputType.mA_0_20,raw_value,min=0,max=100,cutoff=False)print(value)# Output: 90.0print(err)# Output: NoneElectrical wiring!!!Warning!!! Industrial level voltages and currents can be hazardous, only assemble this if you are a trained expert and know what you are doing.Current loopVoltage measurementLicenseDistributed under the MIT License. SeeLICENSE.txtfor more information.(back to top)Contactinfo@frappgmbh.deProject Link:https://github.com/AndreasScharf/python-anopi(back to top)