Werte von Python an Java senden

Diskutiere Werte von Python an Java senden im Scriptsprachen Forum; Am einfachsten wäre wohl, wenn deine Java-Anwendung ein kleiner Server ist. Gibt genügend Microframeworks dafür, siehe hier:...

  1. dzim
    dzim Bekanntes Mitglied
     
  2. mihe7
    mihe7 Bekanntes Mitglied
    Normalerweise empfehle ich das nicht, aber da es im Endeffekt nur einen Client gibt, wäre eine eigene Server-Implementierung durchaus ein gangbarer Weg. Beispiele dafür gibt es wie Sand am Meer, z. B. https://de.wikibooks.org/wiki/Java_Standard:_Socket_und_ServerSocket_(java.net)

    Davon und der Python-Doku abgeleitet:
    Code (Java):

    import java.io.*;
    import java.net.*;

    public class Server {
        public static void main(String[] args) throws Exception {
            ServerSocket ss = new ServerSocket(8084);
            Socket client = ss.accept();
            try(BufferedReader reader = new BufferedReader(
                    new InputStreamReader(client.getInputStream()))) {
                System.out.println(reader.readLine());
            }
        }
    }
     
    bzw.
    Code (Python):

    import socket

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(("localhost", 8084))
    s.send("1234567890\n")
     
     
  3. Elias177
    Elias177 Neues Mitglied
    Ich habe es mal getestet es funktioniert auch aber sobald ich es in das Script vom RFID Card Reader schreibe spuckt er errors aus :(

    Pythonscript:
    Code (Python):
    #!/usr/bin/env python
    # -*- coding: utf8 -*-
    #
    #    Copyright 2014,2018 Mario Gomez <[email protected]>
    #
    #    This file is part of MFRC522-Python
    #    MFRC522-Python is a simple Python implementation for
    #    the MFRC522 NFC Card Reader for the Raspberry Pi.
    #
    #    MFRC522-Python is free software: you can redistribute it and/or modify
    #    it under the terms of the GNU Lesser General Public License as published by
    #    the Free Software Foundation, either version 3 of the License, or
    #    (at your option) any later version.
    #
    #    MFRC522-Python is distributed in the hope that it will be useful,
    #    but WITHOUT ANY WARRANTY; without even the implied warranty of
    #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #    GNU Lesser General Public License for more details.
    #
    #    You should have received a copy of the GNU Lesser General Public License
    #    along with MFRC522-Python.  If not, see <http://www.gnu.org/licenses/>.
    #

    import RPi.GPIO as GPIO
    import MFRC522
    import socket
    import signal

    continue_reading = True

    # Capture SIGINT for cleanup when the script is aborted
    def end_read(signal,frame):
        global continue_reading
        print "Ctrl+C captured, ending read."
        continue_reading = False
        GPIO.cleanup()

    # Hook the SIGINT
    signal.signal(signal.SIGINT, end_read)

    # Create an object of the class MFRC522
    MIFAREReader = MFRC522.MFRC522()

    # Welcome message
    print "Welcome to the MFRC522 data read example"
    print "Press Ctrl-C to stop."

    # This loop keeps checking for chips. If one is near it will get the UID and authenticate
    while continue_reading:
     
        # Scan for cards
        (status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)

        # If a card is found
        if status == MIFAREReader.MI_OK:
            print "Card detected"
     
        # Get the UID of the card
        (status,uid) = MIFAREReader.MFRC522_Anticoll()
     
        # If we have the UID, continue
        if status == MIFAREReader.MI_OK:
     
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.connect(("localhost", 177))
            s.send("1234567890\n")
     
            # Print UID
            print "Card read UID: %s,%s,%s,%s" % (uid[0], uid[1], uid[2], uid[3])
       
     
            # This is the default key for authentication
            key = [0xFF,0xFF,0xFF,0xFF,0xFF,0xFF]
       
            # Select the scanned tag
            MIFAREReader.MFRC522_SelectTag(uid)

            # Authenticate
            status = MIFAREReader.MFRC522_Auth(MIFAREReader.PICC_AUTHENT1A, 8, key, uid)

            # Check if authenticated
            if status == MIFAREReader.MI_OK:
                MIFAREReader.MFRC522_Read(8)
                MIFAREReader.MFRC522_StopCrypto1()
            else:
                print "Authentication error"

     
    Error:
    Code (Text):
    [email protected]:~/Desktop $ sudo python Read.py
      File "Read.py", line 69
        print "Card read UID: %s,%s,%s,%s" % (uid[0], uid[1], uid[2], uid[3])
                                                                            ^
    IndentationError: unindent does not match any outer indentation level
    [email protected]:~/Desktop $
     
     
  4. mihe7
    mihe7 Bekanntes Mitglied
    Diesbezüglich wirst Du in einem Python-Forum besser aufgehoben sein.
     
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Werte von Python an Java senden - Ähnliche Themen

Nutzung der Werte einer ausgeführten Objektmethode in anderen Objektmethoden
Nutzung der Werte einer ausgeführten Objektmethode in anderen Objektmethoden im Forum Java Basics - Anfänger-Themen
Map Werte
Map Werte im Forum Java Basics - Anfänger-Themen
Im Array Werte tauschen
Im Array Werte tauschen im Forum Allgemeine Java-Themen
Array anlegen mit unterschiedlichen Werten
Array anlegen mit unterschiedlichen Werten im Forum Java Basics - Anfänger-Themen
2 Maximalwerte und Minimalwerte aus Array ermitteln
2 Maximalwerte und Minimalwerte aus Array ermitteln im Forum Java Basics - Anfänger-Themen
Thema: Werte von Python an Java senden